通过下面这些,我发现:如果要把信息保存在txt文件中,就必须以写字板的方式打开这
个txt文件,再来写入信息,这样的话就可以正确地读出这个txt文件里的内容。如果以记
事本的方式打开这个txt文件就不可以正确地读出这个txt文件里的内容。不知道我的这个
想法对不对?还有就是同样的一个txt文件,用记事本的方式和用写字板的方式打开,里
面的内容怎么会不一样?
#include<stdio.h>
#include<stdlib.h>
struct st
{
char name[4];
char age[3];
char tel[9];
}s[3];
void main()
{
int i,n;
FILE *fpe; FILE *fpo;
for(i=0;i<3;i++)
{
scanf_s("%s",s[i].name,4);getchar();
scanf_s("%s",s[i].age,3);getchar();
scanf_s("%s",s[i].tel,9);getchar();
}
fopen_s(&fpo,"e:\\students.txt","w");
if(fpo==NULL)
{
printf("打不开\n");
exit(0);
}
for(i=0;i<3;i++)
{
n=fwrite(&s[i],sizeof(struct st),1,fpo);
if(n!=1)
printf("file write error");
}
fclose(fpo);
fopen_s(&fpe,"e:\\students.txt","r");
if(fpe==NULL)
{
printf("打不开\n");
exit(0);
}
for(i=0;i<3;i++)
{
n=fread(&s[i],sizeof(struct st),1,fpe);
if(n!=1)
printf("file read error");
printf("%-4s%3s%9s\n",s[i].name,s[i].age,s[i].tel);
}
fclose(fpe);
system("pause");
}