通過下面這些,我發現:如果要把信息保存在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");
}