/*********************************************
* @brief 向文件中写入一个字符
* @param ch 要写入的字符
* @param fp 文件流
* @return 写入的字符本身或 EOF
********************************************/
int fputc(int ch, FILE* fp);
!subtitle:说明
将字符 ch 写入文件流 fp 中。
!subtitle:参数
ch - 要写入的字符
fp - 要写的文件流
!subtitle:返回值
成功时返回写入的字符(参数 ch 本身)
失败时返回 EOF
#include <stdio.h>
int main(void)
{
// 打开文件
FILE* fp = tmpfile();
if (fp == NULL)
{
perror("文件打开失败");
return 1;
}
// 写入文件
printf("%c\n", (char)fputc('A', fp));
printf("%c\n", (char)fputc('B', fp));
printf("%c\n", (char)fputc('C', fp));
printf("%c\n", (char)fputc('D', fp));
// 重置位置
rewind(fp);
// 读取文件
char str[32];
fgets(str, 32, fp);
printf("%s\n", str);
// 关闭文件
fclose(fp);
return 0;
}
运行结果:
A
B
C
D
ABCD
C23 standard (ISO/IEC 9899:2024):
7.21.7.3 The fputc function (p: TBD)
C17 standard (ISO/IEC 9899:2018):
7.21.7.3 The fputc function (p: TBD)
C11 standard (ISO/IEC 9899:2011):
7.21.7.3 The fputc function (p: 331)
C99 standard (ISO/IEC 9899:1999):
7.19.7.3 The fputc function (p: 297)
C89/C90 standard (ISO/IEC 9899:1990):
4.9.7.3 The fputc function