C语言函数fscanf()(从流 stream 读取格式化输入)
Posted Dontla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言函数fscanf()(从流 stream 读取格式化输入)相关的知识,希望对你有一定的参考价值。
C 标准库 - <stdio.h>
文章目录
描述
C 库函数 int fscanf(FILE *stream, const char *format, …) 从流 stream 读取格式化输入。
声明
下面是 fscanf() 函数的声明。
int fscanf(FILE *stream, const char *format, ...)
参数
- stream – 这是指向 FILE 对象的指针,该 FILE 对象标识了流。
- format – 这是 C 字符串,包含了以下各项中的一个或多个:空格字符、非空格字符 和 format 说明符。
format 说明符形式为[=%[*][width][modifiers]type=]
,具体讲解如下:
fscanf 类型说明符:
- 附加参数 – 根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。
返回值
如果成功,该函数返回成功匹配和赋值的个数。如果到达文件末尾或发生读错误,则返回 EOF。
实例1
下面的实例演示了 fscanf() 函数的用法。
#pragma warning(disable : 4996)
#include <stdio.h>
#include <stdlib.h>
int main()
char str1[10], str2[10], str3[10];
int year;
FILE* fp;
fp = fopen("file.txt", "w+"); //创建一个可用于读写的空文件
fputs("We are in 2014", fp);
rewind(fp); //回到文件fp开头
int ret = fscanf(fp, "%s %s %s %d", str1, str2, str3, &year);
printf("Read String1 |%s|\\n", str1);
printf("Read String2 |%s|\\n", str2);
printf("Read String3 |%s|\\n", str3);
printf("Read Integer |%d|\\n", year);
fclose(fp);
return(0);
VS编译运行结果:
Read String1 |We|
Read String2 |are|
Read String3 |in|
Read Integer |2014|
实例2
#pragma warning(disable : 4996)
#include <stdio.h>
#include <stdlib.h>
int main()
char str1[10], str2[10];
int num;
FILE* fp;
fp = fopen("file.txt", "w+"); //创建一个可用于读写的空文件
fputs("Just 4 you", fp);
rewind(fp); //回到文件fp开头
int ret = fscanf(fp, "%s %d %s", str1, &num, str2);
printf("Read String1 |%s|\\n", str1);
printf("Read Integer |%d|\\n", num);
printf("Read String3 |%s|\\n", str2);
fclose(fp);
return(0);
vs编译运行结果:
Read String1 |Just|
Read Integer |4|
Read String3 |you|
以上是关于C语言函数fscanf()(从流 stream 读取格式化输入)的主要内容,如果未能解决你的问题,请参考以下文章