2017-02-20 33 views
1

Итак, это небольшая часть неполной программы. Программа считывает входной файл, выполняет некоторые вычисления и распечатывает выходной файл, но вместо этого в выходном файле появляются странные символы.Программа печатает странные символы для вывода файла C++

void printRecord (char name[20], char Id[20], ostream& outfile) 
{ 
outfile << name << Id << endl; 
} 

int main() 
{ 
ofstream outfile; 
ifstream infile; 


char file_nameI[21], file_nameO[21], name[20], Id[8]; 

float hworkgrade, grade1; 
int deductions; 

cout << "Please enter name of input file: "; 
cin >> file_nameI; 
infile.open(file_nameI); 
if (!infile) 
{ 
    cout << "Could not open input file \n"; 
    return 0; 
} 

cout << "Please enter name of output file: "; 
cin >> file_nameO; 
outfile.open(file_nameO); 
if (!outfile) 
{ 
    cout << "Could not open output file \n"; 
    return 0; 
} 

do 
{ 
    infile >> name >> Id; 
    cout<< name << Id; 
    hworkgrade = CalHworkGrade(grade1, infile); 
    printRecord(name, Id, outfile); 
} 
while(!infile.eof()); 

return 0; 
} 

Это то, что было в выходном файле

Ф, ью \ XаѓФ, ью программа

+2

Обычно это связано с тем, что переменные не инициализируются. – drescherjm

+0

Вы правы. Теперь я должен выяснить, почему программа не извлекает новую информацию из входного файла. Спасибо за помощь! – Morgan

ответ

0

не тянет данные из входного файла. Если я установил переменную в привет, они не будут перезаписаны новой информацией, и программа печатает привет.

char file_nameI[21], file_nameO[21], name[20] = hello , Id[8] = hello;