#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp, *tmp;
int n=0;
char word[40];
fp=fopen("wordy","a+");
if ((tmp=fopen("num","rb+"))==NULL)
{
tmp=fopen("num","wb");
fwrite(&n,sizeof(int),1,tmp);
fclose(tmp);
tmp=fopen("num","rb+");
}
else
{
fread(&n,sizeof(int),1,tmp);
}
while (scanf("%s",word)==1 && word[0]!='#')
{
n++;
fprintf(fp,"%d ",n);
fprintf(fp,"%s\n",word);
}
rewind(tmp);
fwrite(&n,sizeof(int),1,tmp);
fclose(fp);
fclose(tmp);
return 0;
}
C Primer Plus 第十三章 第九题
最新推荐文章于 2025-12-07 21:20:15 发布
这段代码实现了一个简单的文件操作,首先打开名为'wordy'的文件进行追加写入,同时维护一个计数器'n',该计数器存储在'num'文件中。如果'num'文件不存在或为空,初始化计数器为0。然后,程序读取标准输入,遇到非'#'开头的单词时,将计数器值写入'wordy'文件,接着写入单词并换行。最后更新'num'文件中的计数器值。整个过程涉及文件的读写操作和计数管理。
937

被折叠的 条评论
为什么被折叠?



