fscanf_s 用法 举一个例子
时间: 2025-01-02 17:08:03 浏览: 11
`fscanf_s`是Microsoft C运行时库中的一个函数,用于从指定的位置读取格式化的输入数据到内存中的变量,它的全称是“safe fscanf”。这个函数在处理宽字符字符串(wchar_t*)时特别有用,因为它考虑到了宽字符的支持。
例如,假设你有一个文件存储了一些学生的个人信息,包括姓名、年龄和成绩,你可以用`fscanf_s`来解析这样的数据:
```c++
#include <stdio.h>
#include <tchar.h> // 引入宽字符支持
int main() {
FILE *file = _tfopen(TEXT("students.txt"), TEXT("r")); // 使用宽字符打开文件
if (file == NULL) {
printf("Failed to open file.\n");
return 1;
}
wchar_t name[50], age[4], grade[4];
int result;
// 使用fscanf_s读取数据
result = fscanf_s(file, L"%ls %ls %ls", name, age, grade);
if (result != 3) { // 如果读取的数据行数不是预期的3,说明格式错误或文件结束
printf("Error reading data from the file.\n");
} else {
wprintf(L"Name: %ls\nAge: %ls\nGrade: %ls\n", name, age, grade);
}
fclose(file); // 关闭文件
return 0;
}
```
在这个例子中,`fscanf_s`尝试按照宽字符格式读取一行数据,并将其分别存储到`name`、`age`和`grade`数组中。
阅读全文