📅  最后修改于: 2023-12-03 15:14:24.964000             🧑  作者: Mango
在C标准库中,fputc()
和fgetc()
是用来处理字符流的两个函数。它们分别可以写入和读取单个字符。
fputc()
函数的声明如下所示:
int fputc(int c, FILE *stream);
fputc()
函数将字符c
写入到stream
指向的文件中。它返回一个非负整数表示写入c
的字符,如果发生错误,则返回EOF。下面是一个简单的例子,将字符写入到文件中:
#include <stdio.h>
int main() {
FILE *fp;
char c = 'a';
fp = fopen("test.txt", "w");
if(fp == NULL) {
printf("Failed to open file.");
return -1;
}
fputc(c, fp);
fclose(fp);
return 0;
}
在这个例子中,我们把字符'a'
写入到了一个叫做test.txt
的文件中。
fgetc()
函数的声明如下所示:
int fgetc(FILE *stream);
fgetc()
函数从stream
指向的文件中读取下一个字符。它返回读取的字符,如果到达文件结尾或发生错误,则返回EOF。下面是一个简单的例子,从文件中读取一个字符:
#include <stdio.h>
int main() {
FILE *fp;
char c;
fp = fopen("test.txt", "r");
if(fp == NULL) {
printf("Failed to open file.");
return -1;
}
c = fgetc(fp);
printf("Read character %c", c);
fclose(fp);
return 0;
}
在这个例子中,我们打开了test.txt
文件,并从中读取了一个字符。
除了从文件中读写数据外,fgetc()
和fputc()
也可以用来读写标准输入输出流。例如,下面的代码在控制台中读取一个字符,然后在控制台上输出它:
#include <stdio.h>
int main() {
char c;
c = fgetc(stdin);
printf("Read character %c\n", c);
fputc(c, stdout);
return 0;
}
在这个例子中,我们使用stdin
和stdout
标准文件句柄来读取和写出字符。
fputc()
和fgetc()
是两个非常常用的字符流写入和读取函数。它们可以用来读写文件和标准输入输出流,并且在处理文本文件时非常有用。在使用它们时,一定要注意处理出现的错误和EOF的情况,以避免出现意外结果。