C语言fprint和fscanf
时间: 2023-10-23 14:14:19 浏览: 164
`fprintf` 和 `fscanf` 是 C 语言中用于文件输入输出的函数。
`fprintf` 函数用于将数据格式化输出到文件中。它的语法如下:
```c
int fprintf(FILE *stream, const char *format, ...);
```
其中,`stream` 是一个指向要写入的文件的指针,`format` 是一个格式化字符串,后面可以跟上要输出的数据。`fprintf` 函数返回成功写入的字符数,如果发生错误则返回负数。
举个例子,下面的代码将会把一个整数和一个字符串输出到文件中:
```c
#include <stdio.h>
int main() {
FILE *fp = fopen("output.txt", "w");
int number = 42;
char str[] = "hello world";
fprintf(fp, "The number is %d and the string is %s", number, str);
fclose(fp);
return 0;
}
```
`fscanf` 函数则是用于从文件中读取格式化数据的函数。它的语法如下:
```c
int fscanf(FILE *stream, const char *format, ...);
```
其中,`stream` 是一个指向要读取的文件的指针,`format` 是一个格式化字符串,后面可以跟上要读取的数据的地址。`fscanf` 函数返回成功读取的数据项数,如果发生错误则返回负数。
举个例子,下面的代码会从文件中读取一个整数和一个字符串:
```c
#include <stdio.h>
int main() {
FILE *fp = fopen("input.txt", "r");
int number;
char str[100];
fscanf(fp, "%d %s", &number, str);
fclose(fp);
printf("The number is %d and the string is %s\n", number, str);
return 0;
}
```
注意,`fscanf` 函数在读取字符串时需要指定缓冲区的大小,以避免缓冲区溢出。
阅读全文