存到文件中的数字以10个一行显示。
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *fp;
char ch;
int count;
if((fp=fopen("d:\\111\\222\\num.txt","wt+"))==NULL)
{
printf("不能找到文件!");
getchar();
exit(1);
}
printf("输入数字:\n");
ch=getchar();
while (ch!='\n')
{
fputc(ch,fp);
ch=getchar();
count++;
}
rewind(fp);
ch=fgetc(fp);
while(ch!=EOF)
{
if (count % 10 == 0) { //十个换行输出
putchar('\n');
} else {
putchar(ch);
}
//putchar(ch);
ch=fgetc(fp);
}
printf("\n");
fclose(fp);
}
[解决办法]
#include <stdio.h> #include <stdlib.h>int main() { FILE *fp; char ch; int count = 0;//count要初始化 if((fp=fopen("d:\\num.txt","wt+"))==NULL) { printf("不能找到文件!"); getchar(); exit(1); } printf("输入数字:\n"); ch=getchar(); while (ch!='\n') { fputc(ch,fp); ch=getchar(); count++; } rewind(fp); ch=fgetc(fp); while(ch!=EOF) { if (count % 10 == 0) { //十个换行输出 putchar('\n'); } else { putchar(ch); } ch=fgetc(fp); } printf("\n"); fclose(fp); }