C语言用fscanf()函数如何读取文件全部内容?

有一个文件,我知道数据在其中的存储格式,比如txt文件,所有数据都是以"%d%d%d%d%d\n"格式存储的:1111122222.........但是我不知道文件的长度... 有一个文件,我知道数据在其中的存储格式,比如txt文件,所有数据都是以"%d %d %d %d %d\n"格式存储的:
1 1 1 1 1
2 2 2 2 2
.........
但是我不知道文件的长度,如何用fscanf()函数以同样的格式读取整个文件。
或者用其它函数也行,但格式要相同。
展开
 我来答
我是小靖仔
2020-07-29 · TA获得超过138个赞
知道答主
回答量:110
采纳率:0%
帮助的人:2.4万
展开全部
void read_txt(const char* Input, const char* Output){
FILE *fin = fopen(Input, "rb");//以二进制读入
FILE *fout = fopen(Output, "w");
unsigned char ch1,ch2;
while(fscanf(fin, "%c%c", &ch1,ch2) != EOF){//直到文件结束
fprintf(fout, "%d%d", ch1,ch2);//以10进制输出
}
}
int main(){
read_txt("D:/IN.txt","D:/OUT.txt");//txt文件目录
return 0;
}
注:判断文件结束处的语句:fscanf(fin, "%c%c", &ch1,ch2)。其中两个%c之间不能加空格,否则读到的二进制文件会不完整,比源文件少好多个字节
百度网友968292668
推荐于2017-10-04
知道答主
回答量:11
采纳率:0%
帮助的人:4.9万
展开全部
int []account;
for(int i=0;!feof(file_p);++i) /*file_p是文件标识符*/
{
fscanf(file_p,"%d",account[i]);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韧劲9
推荐于2017-09-04 · TA获得超过9224个赞
知道小有建树答主
回答量:1638
采纳率:92%
帮助的人:349万
展开全部
int []account;
for(int i=0;!feof(file_p);++i) /*file_p是文件标识符*/
{
fscanf(file_p,"%d",account[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
遨游武状元
2009-02-23 · 超过10用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
void main( void )
{
FILE *f;
int a,b,c,d,e;
f = fopen("a.txt", "r");
while(fscanf(f,"%d %d %d %d %d",&a,&b,&c,&d,&e)==5)
{
//你的代码
}
fclose(f);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式