`fscanf` 函数是 C 语言中用于从文件中读取格式化数据的函数。它的基本用法如下:
```c
int fscanf(FILE *stream, const char *format, ...);
```
其中:
`stream` 是指向要读取的文件的指针,可以是标准输入流 `stdin`、文件指针或者其他已经打开的文件流。
`format` 是一个格式控制字符串,指定了要读取的数据的格式和顺序。
`...` 表示可变参数列表,用于接收读取的数据。
`fscanf` 函数的工作方式类似于 `scanf` 函数,不同的是它从文件中读取数据,而 `scanf` 从标准输入流中读取数据。它根据格式控制字符串中的格式说明符,按照指定的格式读取文件中的数据,并将读取的数据存储到对应的参数中。
示例
```c
include
int main() {
FILE *file;
int num;
// 打开文件
file = fopen("data.txt", "r");
if (file == NULL) {
printf("无法打开文件
");
return 1;
}
// 从文件中读取一个整数
fscanf(file, "%d", &num);
// 输出读取到的整数
printf("读取到的整数是: %d
", num);
// 关闭文件
fclose(file);
return 0;
}
```
在这个示例中,我们首先使用 `fopen` 函数打开了一个名为 `data.txt` 的文件,并将其赋值给 `file` 指针。然后,我们使用 `fscanf` 函数从文件中读取一个整数,并将其存储在变量 `num` 中。最后,我们使用 `printf` 函数打印读取到的整数。
注意事项
1. `fscanf` 遇到空格和换行时结束,注意空格时也结束。这与 `fgets` 有区别,`fgets` 遇到空格不结束。
2. `fscanf` 的返回值是成功读入的参数的个数,如果读取失败则返回 `EOF`(-1)。
希望这些信息对你有所帮助!