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()函数以同样的格式读取整个文件。
或者用其它函数也行,但格式要相同。 展开
1 1 1 1 1
2 2 2 2 2
.........
但是我不知道文件的长度,如何用fscanf()函数以同样的格式读取整个文件。
或者用其它函数也行,但格式要相同。 展开
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之间不能加空格,否则读到的二进制文件会不完整,比源文件少好多个字节
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之间不能加空格,否则读到的二进制文件会不完整,比源文件少好多个字节
展开全部
int []account;
for(int i=0;!feof(file_p);++i) /*file_p是文件标识符*/
{
fscanf(file_p,"%d",account[i]);
}
for(int i=0;!feof(file_p);++i) /*file_p是文件标识符*/
{
fscanf(file_p,"%d",account[i]);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int []account;
for(int i=0;!feof(file_p);++i) /*file_p是文件标识符*/
{
fscanf(file_p,"%d",account[i]);
}
for(int i=0;!feof(file_p);++i) /*file_p是文件标识符*/
{
fscanf(file_p,"%d",account[i]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询