fscanf和fprintf
时间: 2023-08-17 19:16:59 浏览: 100
fprintf()和fscanf()函数
`fscanf` 和 `fprintf` 是 C 语言中用于格式化输入和输出的函数。
`fscanf` 函数用于从文件中读取格式化数据。它的语法如下:
```c
int fscanf(FILE* stream, const char* format, ...);
```
`stream` 参数是一个指向文件的指针,`format` 参数是一个格式化字符串,后面可以跟上一些变量,表示需要读取的数据。例如,以下代码从文件中读取一个整数:
```c
int num;
fscanf(fp, "%d", &num);
```
`fprintf` 函数用于向文件中写入格式化数据。它的语法如下:
```c
int fprintf(FILE* stream, const char* format, ...);
```
`stream` 参数是一个指向文件的指针,`format` 参数是一个格式化字符串,后面可以跟上一些变量,表示需要写入的数据。例如,以下代码向文件中写入一个字符串和一个整数:
```c
fprintf(fp, "Hello, world!\n");
fprintf(fp, "The answer is %d\n", 42);
```
需要注意的是,`fscanf` 和 `fprintf` 函数是有返回值的,返回值表示实际读取或写入的数据项数。如果返回值小于预期的数据项数,可能表示文件已经到达了结尾或者格式化字符串与文件中的数据不匹配。
另外,需要注意的是,`fscanf` 和 `fprintf` 函数都是可以被恶意数据攻击利用的漏洞函数,使用这两个函数时需要格外小心,建议使用更安全的函数,比如 `fgets` 和 `fputs`。
阅读全文