fscanf_s的用法
时间: 2024-05-03 12:18:32 浏览: 148
fscanf_s是C语言中标准输入函数scanf的安全版本,用于从输入流中读取格式化数据。它的语法如下:
```c
int fscanf_s(FILE *stream, const char *format, ...)
```
其中,stream是指向输入流的指针;format是格式化字符串,用来指定要读取的数据类型和数据存储的位置;...表示可变参数列表,需要与format字符串中的格式化符号一一对应。
使用fscanf_s函数时,需要指定第三个参数是可变参数列表。具体用法如下:
```c
#include <stdio.h>
int main()
{
FILE *fp;
int a, b;
char str[20];
fp = fopen("test.txt", "r");
if (fp == NULL)
{
printf("打开文件失败\n");
return -1;
}
fscanf_s(fp, "%d %d %s", &a, &b, str, 20);
printf("a=%d, b=%d, str=%s\n", a, b, str);
fclose(fp);
return 0;
}
```
上述代码中,通过打开文件并将其赋值给指针变量fp。如果打开文件失败,就会输出“打开文件失败”并返回-1。如果成功打开文件,就从文件中读取格式化数据,并将其赋值给变量a、b和str。最后输出这些变量的值。
需要注意的是,fscanf_s函数与scanf函数类似,但它是安全的。它可以避免由于输入数据格式错误而导致的缓冲区溢出和安全问题。
阅读全文