c语言中的fscanf()函数

请问fscanf()函数是靠什么来分隔输入的 比如说文件中储存的值为
123 456
那么fscanf(fp,%d%d,&a,&b)中a和b中存储的值是分别为123和456吗?
如果文件中存储的改为
123456
那这个函数是不是会因为b赋不到值而报告错误?
还有文件指针是会自动往前递增的吗? 就是问下一次循环开始读的地方是接在上一次读过的地方的吗? 不胜感激 谢谢

是以空格分隔的。
fscanf会返回读取成功的数据个数,你可以用
int ans=fscanf(fp,"%d%d",&a,&b);
的方法,看ans是否为2,是则表示输入成功。

文件指针是自动递增的
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-14
fprintf(fp,"%s,%c,%d,%f",str,a, c, b); 这个输出格式表明 你的文件1.txt 里的数据 是用 逗号 分 隔。
if((fp = fopen("1.txt","r"))==NULL) 你要打开 读 这个 用 逗号为 分隔符 的文件。

fscanf(fp,"%s,%c,%d,%f", str, &a, &c, &b);
漏写 str, 给你补上,但 这仍不能解决 %s, 的逗号分隔问题。

必须 用下面格式读取逗号分隔的数据:
fscanf(fp,"%[^,],%c,%d,%f", str, &a, &c, &b);
======================================

假如文件里的数据 用 空白 分隔,不用 逗号,日子就好过得多:
fprintf(fp,"%s %c %d %f",str,a, c, b);
fscanf(fp,"%s %c %d %f", str, &a, &c, &b);
第2个回答  2009-04-21
如果文件的内容为:123 456
可通过这样的方式读取: fscanf(fp, "%d %d", &a, &b);
如果文件的内容为:123456
可通过这样的方式读取: fscanf(fp, "%3d%3d", &a, &b);
对,文件指针会自动递增。
第3个回答  2009-04-21
各种分隔符
' ', '\n','\r','\t'
读取成功会将指针指向读取的末尾,不吃分隔符
分隔符会在下一次读取时跳过
读取失败指针不变,也就是永远失败,需要用返回值的方法来判断,楼上已经说了判断方法了
第4个回答  2009-04-21
fscanf(fp, "%d %d", &a, &b);

c语言中的fscanf()函数
C语言中fscanf函数用于从文件中读取格式化输入。1. fscanf函数的基本定义 fscanf是C语言中一个非常常用的函数,它用于从文件中读取格式化输入。这个函数可以读取不同类型的数据,如整数、浮点数、字符串等。其函数原型为:`int fscanf`。其中,stream指向要读取的文件,format是读取数据的格式字符串。2. fs...

C语言文件读取fscanf(),该怎么处理
fscanf位于头文件<stdio.h>中,函数原型为int fscanf(FILE*stream, constchar*format, [argument...]); 其功能为根据数据格式(format)从输入流(stream)中写入数据(argument);与fgets的差别在于:fscanf遇到空格和换行时结束,注意空格时也结束,fgets遇到空格不结束。函数名: fscanf 功 能: 从一个流...

c语言中的fscanf()
在C语言编程中,fscanf函数扮演着关键角色,它用于从输入流中读取数据。这个函数的一个重要特性是它能够根据特定格式(如以空格分隔)读取数据。当你使用类似`int ans = fscanf(fp, "%d %d", &a, &b);`这样的语句时,fscanf会尝试从文件指针fp指向的位置读取一个整数并将其存储在变量a中,接着再...

c语言中的fscanf()函数
是以空格分隔的。fscanf会返回读取成功的数据个数,你可以用 int ans=fscanf(fp,"%d%d",&a,&b);的方法,看ans是否为2,是则表示输入成功。文件指针是自动递增的

C语言中fscanf()的用法
功 能: 从一个流中执行格式化输入\\x0d\\x0a 用 法: int fscanf(FILE *stream, char *format,[argument...]);\\x0d\\x0a int fscanf(文件指针,格式字符串,输入列表);\\x0d\\x0a 返回值:整型,数值等于[argument...]的个数\\x0d\\x0a 程序例:\\x0d\\x0a #include \\x0d\\x...

fscanf函数
fscanf函数是C语言中用于从文件读取数据的函数。函数简介 fscanf函数是C标准库中的一个重要函数,用于从指定的文件中读取数据。它可以根据指定的格式字符串读取并存储数据到变量中。该函数返回一个整数值,表示成功读取的数据项数。如果到达文件末尾或发生其他错误,返回值会小于提供的变量数量。函数原型 fscan...

fscanffscanf函数的一般形式
fscanf函数是C语言中用于执行格式化输入的一种方法。它的主要功能是从一个流中读取数据,并根据提供的格式字符串进行解析。与fgets函数不同的是,fscanf在遇到空格和换行时就会结束读取过程,而fgets则会在遇到换行符时才结束。使用方法为int fscanf(FILE *stream, char *format,[argument...]);或者int ...

C语言fscanf的用法是什么
用 法: int fscanf(FILE *stream, char *format,[argument...])。1、fscanf()的format参数允许的格式为:“%[*][width][modifiers]type”。[]中的内容根据需要供选,可缺省,%type必须要有,不可省。2、“format”是C字符串,由“空格”、“非空格”及“转换符”组成。具体格式为%[*][...

fscanf函数的用法
fscanf函数的用法为“intfscanf(FILE*stream,char*format,[argument...]);”,所有符号需在英文模式下输出。fscanf()函数(有点像正则表达式),功能是从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。scanf()是C语言中的一个输出函数。与printf函数一样,都被声明在头文件...

C语言用fscanf()函数如何读取文件全部内容?
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...

相似回答