C语言文件操作一个问题
#include<stdio.h>#include<string.h>main(){FILE*fp;charbuff[64];if((fp=fopen("d:\\turb...
#include<stdio.h>
#include<string.h>
main()
{FILE *fp;
char buff[64];
if((fp = fopen("d:\\turbo.txt","w"))==NULL)
{printf("File cannot be opened!\n");
system("pause");
exit(1);
}
while(strlen(fgets(buff,64,stdin))>0)//这里的条件貌似没有用
{fputs(buff,fp); //接上行 在Turbo C 2.0下按回车键无法结束
fputc('\n',fp);
}
fclose(fp);
system("pause");
} 展开
#include<string.h>
main()
{FILE *fp;
char buff[64];
if((fp = fopen("d:\\turbo.txt","w"))==NULL)
{printf("File cannot be opened!\n");
system("pause");
exit(1);
}
while(strlen(fgets(buff,64,stdin))>0)//这里的条件貌似没有用
{fputs(buff,fp); //接上行 在Turbo C 2.0下按回车键无法结束
fputc('\n',fp);
}
fclose(fp);
system("pause");
} 展开
1个回答
展开全部
这个程序的功能是不是从一个文件读一段文字然后再输出?如果是,我想那个while应该换成if,我觉得他可能是要判断文件当中是否有东西,也就是说如果没有东西就不输出。下面是fgets的一些介绍:
fgets函数用来从文件中读入字符串。fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。因此,确切地说,调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'\0',并以str作为函数值返回。
希望对你有所帮助。
fgets函数用来从文件中读入字符串。fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。因此,确切地说,调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'\0',并以str作为函数值返回。
希望对你有所帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询