文章目录
- 1 函数原型
- 2 参数
- 3 返回值
- 4 示例
- 4.1 示例1
- 4.2 示例2
- 4.3 示例3
1 函数原型
fputc():将一个字符发送至指定流stream,函数原型如下:
int fputc(int c, FILE *stream);
2 参数
fputc()函数有两个参数c和stream:
- 参数c是待输出字符的ASCII码值或字符常量,类型为int型;
- 参数stream是一个指向FILE类型结构的指针;stream指定了fputc()函数要写入的流,可以是文件流,也可以是标准输出流;当是文件流时,stream等于fopen()函数的返回值;当是标准输入流时,stream等于stdout。
3 返回值
fputc()函数的返回值类型为int型:
- 输出成功,返回参数c的值;
- 输出失败,返回EOF。
C语言标准描述如下:
1. Each of these functions returns the character written. For fputc and _fputchar, a return value of EOF indicates an error.
4 示例
4.1 示例1
以ASCII码值和字符常量的形式输出单个字符,代码如下所示:
int main()
{
FILE* fp;
if ((fp = fopen("1.txt", "w")) == NULL)
{
printf("Failed to open file\n");
exit(1);
}
char str1[] = { 97, 98, 99, 100, 101, 102 };
char str2[] = { 'a', 'b', 'c', 'e', 'e', 'f' };
int i = 0;
for (i = 0; i < 6; i++)
{
fputc(str1[i], fp);
}
fputc('\n', fp);
for (i = 0; i < 6; i++)
{
fputc(str2[i], fp);
}
fclose(fp);
return 0;
}
代码运行结果如下图所示:
4.2 示例2
从键盘读取字符串"hello world"并打印,代码如下所示:
int main()
{
while ((fputc(getchar(),stdout)) != '\n');
return 0;
}
代码运行结果如下图所示:
4.3 示例3
从字符数组读取字符串"hello world"并写文件,代码如下所示:
int main()
{
FILE* fp;
if ((fp = fopen("2.txt", "w")) == NULL)
{
printf("Failed to open file\n");
exit(1);
}
char str[] = "hello world";
int i = 0;
while (1)
{
if (str[i] == '\0')
{
break;
}
else
{
fputc(str[i], fp);
}
i++;
}
fclose(fp);
return 0;
}
代码运行结果如下图所示: