大家好,本篇文章为大家解答以上问题,相信很多人对fscanf返回值都不是特别的了解,因此呢,今天就来为大家分享下关于fscanf返回值以及fscanf是逐行读取吗的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
本文目录一览
- 1、fscanf函数的用法
- 2、C语言中fscanf()的用法
fscanf函数的用法
用法:int fscanf(FILE*stream,char*format,[argument…]);解析:int fscanf(文件指针,格式字符串,输入列表);返回值: 类型是整型,成功读入的参数的个数。新建data.txt文件,存入3组坐标,运行程序并输出结果。
fscanf函数的用法
fscanf第一个参数需要一个文件指针,为了查看实验效果,这里先新建一个名为test.txt的文本文件,放在源代码的文件夹,输入如下内容:
123
123.456
Hello world !
要对文件操作,必须将该文件打开:
fp = fopen("test.txt", "r");
同时使用完毕后不要忘记使用fclose关闭文件。
test.txt第一行保存的是一个整数,所以可以使用fscanf先读取一个整数:
fscanf(fp, "%d", &num);
test.txt第二行保存了一个浮点数,按照浮点数的格式进行读取:
fscanf(fp, "%f", &fNum);
需要注意的是,由于浮点数位于第二行,所以要想读取这个浮点数,应当先把第一个数读完,否则读取的回事123.000000
同样可以使用类似的方法读取位于第三行的字符串:
fscanf(fp, "%s", str);
但是,从程序的运行结果发现,第三行存储的是Hello world !,而实际运行结果只有“Hello”,这表明fscanf遇到空格会终止本次读操作。
当将fscanf第一个参数设定为stdin时,将实现和scanf函数相同的效果:
fp = stdin;//设置fp为标准输入
fscanf(fp, "%d", &num);//从fp读取一个整数
C语言中fscanf()的用法
功 能: 从一个流中执行格式化输入\x0d\x0a 用 法: int fscanf(FILE *stream, char *format,[argument…]);\x0d\x0a int fscanf(文件指针,格式字符串,输入列表);\x0d\x0a 返回值:整型,数值等于[argument…]的个数\x0d\x0a 程序例:\x0d\x0a #include \x0d\x0a #include \x0d\x0a int main(void)\x0d\x0a {\x0d\x0a int i;\x0d\x0a printf("Input an integer: ");\x0d\x0a if (fscanf(stdin, "%d", &i))\x0d\x0a printf("The integer read was: %d\n",\x0d\x0a i);\x0d\x0a else\x0d\x0a {\x0d\x0a fprintf(stderr, "Error reading an \\x0d\x0a integer from stdin.\n");\x0d\x0a exit(1);\x0d\x0a }\x0d\x0a return 0;\x0d\x0a }\x0d\x0a 返回EOF如果读取到文件结尾。
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 449@qq.com 举报,一经查实,本站将立刻删除。本文链接:https://www.hnhgjc.com/n/589874.html