ungetc
ungetc函数是C语言中用来将一个字符放回输入流中的函数。使用该函数可以将读取到的字符放回输入流,以便下一次再次读取。
ungetc函数的原型如下:
```
int ungetc(int c
FILE *stream);
```
其中,c是要放回输入流的字符,stream是指向FILE结构体的指针,代表输入流。
ungetc函数的返回值是放回成功的字符,如果失败则返回EOF。
ungetc函数的使用方法如下:
1. 首先需要打开一个文件,并通过fopen函数打开文件,并获取到文件的指针。
2. 通过fgetc函数从文件中读取一个字符。
3. 使用ungetc函数将读取到的字符放回输入流。
4. 通过getc函数再次读取字符,即可读取到放回的字符。
示例代码如下:
```c
#include
int main() {
FILE *file;
int c
d;
file = fopen("example.txt"
"r");
if (file == NULL) {
printf("Could not open file.\n");
return 1;
}
c = fgetc(file); // 从文件中读取一个字符
if (c != EOF) {
d = ungetc(c
file); // 将读取到的字符放回输入流
if (d == EOF) {
printf("Could not unget character.\n");
return 1;
}
}
c = getc(file); // 从输入流再次读取字符
printf("First character: %c\n"
c);
fclose(file);
return 0;
}
```
这个例子打开了一个名为"example.txt"的文件,并从文件中读取一个字符。然后使用ungetc函数将读取到的字符放回输入流,再通过getc函数再次读取字符。*,将读取到的字符打印输出。如果一切正常,打印输出的字符应与*次读取的字符相同。
这是ungetc函数的基本用法,可以根据需要进行扩展和应用。