fscanf怎么使用
时间: 2024-10-28 10:04:03 浏览: 8
`fscanf`是一个标准库函数,在C++中通常通过`cstdio`头文件引入,用于格式化输入流(通常是`stdin`、`stdout`或`stderr`),也可以用来读取文件。它的工作原理类似于C的`scanf`函数,但作用于文件流而不是键盘。
使用`fscanf`的基本语法如下:
```cpp
int scanf_like_function(const char *format, ...);
int fscanf(FILE *stream, const char *format, ...);
```
这里的`format`参数是一个字符串,描述了你想要从流中读取的数据的模式。例如,如果你想读取一个整数,你可以使用模式 `%d`;如果你想读取一个浮点数,就用 `%f`,等等。后面的`...`代表后续的一系列变量,它们会接收从流中读取的实际值。
这里有一个简单的例子:
```cpp
#include <cstdio>
#include <iostream>
int main() {
FILE *file = fopen("data.txt", "r"); // 打开文件
if (file == NULL) {
std::cerr << "Error opening file.\n";
return 1;
}
int num;
float flt;
if (fscanf(file, "%d %f", &num, &flt) != 2) { // 如果读取失败返回的不是2,则出错
perror("Reading from file failed.");
fclose(file);
return 1;
}
std::cout << "Number read: " << num << ", Float read: " << flt << std::endl;
fclose(file); // 关闭文件
return 0;
}
```
在这个例子中,`fscanf`尝试从`data.txt`文件中读取一个整数和一个浮点数,并将它们分别赋给`num`和`flt`。
阅读全文