C语言如何读取文件?

#include"stdio.h"#include<stdlib.h>main(){FILE*fp1;//定义文件流指针,用于打开读取的文件FILE*fp2;//定义文件... #include "stdio.h"
#include <stdlib.h>

main()
{
FILE *fp1;//定义文件流指针,用于打开读取的文件
FILE *fp2;//定义文件流指针,用于打开写操作的文件
char text[1024];//定义一个字符串数组,用于存储读取的字符
fp1 = fopen("d:\\a.txt","r");//只读方式打开文件a.txt
fp2 = fopen("d:\\b.txt","w");//写方式打开文件a.txt
while(fgets(text,1024,fp1)!=NULL)//逐行读取fp1所指向文件中的内容到text中
{
puts(text);//输出到屏幕
fputs(text,fp2);//将内容写到fp2所指向文件中
}
fclose(fp1);//关闭文件a.txt,有打开就要有关闭
fclose(fp2);//关闭文件b.txt
}

这里为什么要有两个指针?一个指针可以吗?除了这样编写,还有什么方法,还有其它例子吗?
只是读取一个文件,这里为什么要有两个指针?
展开
 我来答
很多游戏
高粉答主

2019-05-13 · 游戏精通者,攻略技能点满
很多游戏
采纳数:91 获赞数:386947

向TA提问 私信TA
展开全部

C语言读取文件的具体步骤如下:

我们需要准备的材料分别是:电脑、C语言。

1、首先我们打开需要读取的文件,点击打开左上角文件中的“另存为”。

2、然后我们在弹出来的窗口中点击打开保存类型。

3、然后我们在弹出来的窗口中点击选择“C source file(*.c)”,之后点击保存即可在C语言中读取出来了。

蒯懿靖迎夏
2019-05-13 · TA获得超过4053个赞
知道大有可为答主
回答量:3166
采纳率:27%
帮助的人:201万
展开全部
一个c语言读写文件程序:
#include
"stdio.h"
#include
<stdlib.h>
main()
{
FILE
*fp1;//定义文件流指针,用于打开读取的文件
FILE
*fp2;//定义文件流指针,用于打开写操作的文件
char
text[1024];//定义一个字符串数组,用于存储读取的字符
fp1
=
fopen("d:\\a.txt","r");//只读方式打开文件a.txt
fp2
=
fopen("d:\\b.txt","w");//写方式打开文件a.txt
while(fgets(text,1024,fp1)!=NULL)//逐行读取fp1所指向文件中的内容到text中
{
puts(text);//输出到屏幕
fputs(text,fp2);//将内容写到fp2所指向文件中
}
fclose(fp1);//关闭文件a.txt,有打开就要有关闭
fclose(fp2);//关闭文件b.txt
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fu_dawn
推荐于2017-11-26 · TA获得超过148个赞
知道小有建树答主
回答量:87
采纳率:0%
帮助的人:61万
展开全部
一个文件流指针对应一个打开的文件,因为你要同时操作两个文件,所以要用两个文件流指针
,就像你要同时操作两个箱子一样.
这个程序可以这样理解:
有两个箱子,fp1,fp2;
打开箱子fp1,fp2,一次拿出1024个东西看一下,同时将他放到第二个箱子fp2里,至到箱子的东西完全拿出来,然后关闭两个箱子.

例子都是差不多的,你看看stdlib中f还头的函数就可以了,但是在C中文件操作就是这样的:
FILL *pf; //声明指针,当然也可以是指针数组 FILE pf[2] 或 FILE **pf;

pf =fopen();
fread() or fwrite() ... ... //操作文件
fclose(pf) //关闭文件
更多追问追答
追问
只是读取一个文件,怎么要定义两个指针?

main()
{
FILL *pf;
char abc[1024];
pf=fopen("D:\\a.txt","r");
fread(abc,strlen(abc),pf);
puts(abc);
fclose(pf);
}
这个哪里错了?
追答
fread(abc,strlen(abc),pf);
abc数组只是声明了,但其并没有初始化,C语言默认是不进行初始化的所以strlen(abc)的返回值是不确定的,你可以直接改成
main()
{
FILL *pf;
char abc[1024];
pf=fopen("D:\\a.txt","r");
fread(abc,1023,pf);
abc[1024]="\0";
puts(abc);
fclose(pf);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式