磁盘文件保存的问题
从键盘输入一个字符串,输入的字符串以“!”结束,将其中的数字转换成*,输出到磁盘文件star.txt保存,然后将star.txt中的内容输出到屏幕显示。
程序代码:
#include <stdio.h>
#include <stdlib.h>
#define size 100
struct character
{
char c;
}Ch[size+1];
void read_data()
{
int i;
FILE *fp;
fp=fopen("star.txt","rb");
for(i=1;i<=size;i++)
{
fread(&Ch[i],sizeof(struct character),1,fp);
}
fclose(fp);
}
void write_data()
{
FILE *fp;
int i;
if((fp=fopen("star.txt","wb"))==NULL)
{printf("cannot open file\n");
return;
}
for(i=1;i<=size;i++)
if(fwrite(&Ch[i],sizeof(struct character),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
main()
{
char x,n;
printf("请输入字符串,以!结束:\n");
for(n=1;n<=size;n++)
{
x=getchar();
if (x!='!')
Ch[n].c=x;
else
break;
}
write_data();
read_data();
printf("\n\n保存文件中的字符串为:\n");
for (n=1;n<=size;n++)
printf("%c",Ch[n].c);
}







