fprintf和printf有什么区别
时间: 2023-10-16 14:08:13 浏览: 86
Linux:printk与printf的区别
5星 · 资源好评率100%
`fprintf` 和 `printf` 都是 C 语言中的输出函数,它们的区别在于输出的目标不同。
`printf` 函数将输出内容发送到标准输出流 `stdout` 中,通常是显示器或终端窗口。
`fprintf` 函数将输出内容发送到指定的文件流中,可以是标准输出流 `stdout`、标准错误流 `stderr`、文件流 `FILE`、网络套接字 `socket` 等。
因此,`printf` 和 `fprintf` 在用法上有些差异,使用 `printf` 可以将输出内容直接发送到标准输出流中,而使用 `fprintf` 则需要指定输出的文件流,例如:
```c
// 将字符串 "Hello, World!\n" 输出到标准输出流中
printf("Hello, World!\n");
// 将字符串 "Hello, World!\n" 输出到文件 "output.txt" 中
FILE* fp = fopen("output.txt", "w");
fprintf(fp, "Hello, World!\n");
fclose(fp);
```
需要注意的是,在使用 `fprintf` 输出到文件流时,需要先打开文件,然后使用 `fprintf` 输出内容,最后关闭文件流。否则,程序可能会因为未关闭文件而造成内存泄漏或文件数据不完整等问题。
阅读全文