读书人

有关C++文件输入输出的有关问题

发布时间: 2012-02-11 09:51:34 作者: rapoo

有关C++文件输入输出的问题,急请指教
数据结构如下:
typedef struct RT{

char Name[20];
int Age;
char Disease[30];
}RT;

void main()
{ int i;
FILE *fp;
for(i=0;i <3;i++)
{
cout < < "name: ";
cin> > student[i].Name;
cout < < "age: ";
cin> > student[i].Age;
cout < < "disease: ";
cin> > student[i].Disease;
}
fp=fopen( "client.txt ", "w ");
for(i=0;i <3;i++)
{
fwrite(&student[i].Name,20,1,fp);
fwrite(&student[i].Age,sizeof(int),1,fp);
fwrite(&student[i].Disease,30,1,fp);
}
fclose(fp);

}

输入:liang 1 heart
shao 2 nose

我理想中的打开client.txt文件内容是:

liang 1 heart
shao 2 nose

但实际上打开client.txt文件时所看到的是:
liang 烫烫烫烫烫烫烫 heart 烫烫烫烫烫烫烫烫烫烫烫烫shao 烫烫烫烫烫烫烫? nose 烫烫烫烫烫烫烫烫烫烫烫烫


为什么呢?怎么解决?请指教





[解决办法]
student.Name[19]= '\0 ';
student.Disease[29]= '\0 ';
fwrite(&student.Name,strlen(student.Name),1,fp);
fprintf(fp, "%d ",student.Age);
fwrite(&student.Disease,strlen(student.Disease),1,fp);

读书人网 >C++

热点推荐