下面的代码:错误在简单的文件处理的C程序
#include<stdio.h>
int main()
{
FILE *fp;
int i;
fp=fopen("DATA","w");
for(i=1;i<=30;++i)
putw(i,fp);
fclose(fp);
fp=fopen("DATA","r");
while((i=getw(fp))!=EOF)
printf("%4d",i);
fclose(fp);
return 0;
}
我没有得到预期的输出。该程序打印数量直到25,而不是30。如果我设置i<=20
,我得到正确的输出。我不明白。
帮助表示赞赏。谢谢!
你能明确地发布文件的内容,期望的输出和实际的输出吗? – vinnydiehl 2014-09-29 06:17:27
是否有任何特殊原因使用了不明确的'putw'和'getw'功能。 – 2014-09-29 06:18:58
@DavidSchwartz:这些都是我遵循的教科书中提到的功能。是否还有一些其他功能用于这些任务? – 2014-09-29 06:21:19