如果我想要读写文档的全部内容,应该怎样去修改?

#include <stdio.h>
#include <stdlib.h> 
#include<string.h>
void main()
{
FILE *fp;
char filename[30],temp[1024],str;
printf("请输入文件名:");
gets(filename);
if((fp=fopen(filename,"r"))==NULL)  
{
printf("File Name Error\n");
exit(0); 
}
else  

fgets(temp,1024,fp);

printf("文档内容是:%s",temp); }  

}

当年话下
浏览 78回答 2
2回答

茅侃侃

#include&nbsp;<stdio.h>#include&nbsp;<stdlib.h>&nbsp;#include&nbsp;<string.h>void&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;FILE&nbsp;*fp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;filename[30],temp[1024],str;&nbsp;&nbsp;&nbsp;&nbsp;printf("请输入文件名:");&nbsp;&nbsp;&nbsp;&nbsp;gets(filename);&nbsp;&nbsp;&nbsp;&nbsp;if((fp=fopen(filename,"r"))==NULL)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("File&nbsp;Name&nbsp;Error\n");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;//修改如下&nbsp;&nbsp;&nbsp;&nbsp;while(fgets(temp,1024,fp)&nbsp;!=&nbsp;NULL)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("文档内容是:%s",temp);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(temp,&nbsp;0,&nbsp;sizeof(temp));&nbsp;//清空缓冲区&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;fclose(fp);}

饮歌长啸

在C语言中,文件操作都是由库函数来完成的。要读取一个txt文件,首先要使用文件打开函数fopen()。fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 其中,逗文件指针名地必须是被说明为FILE 类型的指针变量,逗文件名地是被打开文件的文件名。 逗使用文件方式地是指文件的类型和操作要求。逗文件名地是字符串常量或字符串数组。其次,使用文件读写函数读取文件。在C语言中提供了多种文件读写的函数:&nbsp;·字符读写函数 :fgetc和fputc·字符串读写函数:fgets和fputs·数据块读写函数:freed和fwrite·格式化读写函数:fscanf和fprinf最后,在文件读取结束要使用文件关闭函数fclose()关闭文件。下面以格式化读写函数fscanf和fprintf为例,实现对文件A.txt(各项信息以空格分割)的读取,并将它的信息以新的格式(用制表符分割各项信息)写入B.txt,实现对A.txt的处理。C语言源程序如下所示:#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef struct student{char name[32];int no;char sex[16];float score;} stu;int main(int argc, char* argv[]){//打开文件&nbsp;FILE * r=fopen("A.txt","r");assert(r!=NULL);FILE * w=fopen("B.txt","w");assert(w!=NULL);//读写文件&nbsp;stu a[128];int i=0;while(fscanf(r,"%s%d%s%f",a[i].name,&a[i].no,a[i].sex,&a[i].score)!=EOF){printf("%s\t%d\t%s\t%g\n",a[i].name,a[i].no,a[i].sex,a[i].score);//输出到显示器屏幕&nbsp;fprintf(w,"%s\t%d\t%s\t%g\n",a[i].name,a[i].no,a[i].sex,a[i].score);//输出到文件B.txt&nbsp;i++;}&nbsp;&nbsp;//关闭文件&nbsp;fclose(r);fclose(w);system("pause");return 0;}&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP