📜  getchar(),fgetc()和getc()的返回类型是什么?(1)

📅  最后修改于: 2023-12-03 14:41:23.615000             🧑  作者: Mango

getchar(), fgetc(), and getc()的返回类型

这里我们将讨论C语言中的getchar(), fgetc(),和getc()函数的返回类型。

getchar()

getchar()是C标准库中的一个函数,用于从标准输入中获取一个字符。它的函数原型如下:

int getchar(void);

getchar()函数返回一个int类型的值,该值表示读取的字符。它的返回范围是0到255,如果读取失败,则返回常量EOF(也是一个int类型)。因此,你需要将返回值强制转换为char类型,以获得读取的字符。

以下是一个使用getchar()函数从标准输入中读取字符并打印的示例:

#include <stdio.h>

int main() {
    int c;
    
    printf("Enter a character: ");
    c = getchar();  // 从标准输入获取一个字符
    
    printf("You entered: %c\n", (char)c);
    
    return 0;
}
fgetc()

fgetc()函数用于从文件中获取一个字符。它的函数原型如下:

int fgetc(FILE *stream);

fgetc()函数接受一个指向FILE类型的指针作为参数,表示要读取的文件流。它与getchar()函数类似,返回一个int类型的值来表示读取的字符。如果读取失败,则返回EOF

以下是一个使用fgetc()函数从文件中读取字符并打印的示例:

#include <stdio.h>

int main() {
    FILE *file;
    int c;
    
    file = fopen("example.txt", "r");  // 打开文件供读取
    
    if (file) {
        c = fgetc(file);  // 从文件中获取一个字符
        
        printf("Read from file: %c\n", (char)c);
        
        fclose(file);  // 关闭文件
    }
    
    return 0;
}
getc()

getc()函数也用于从文件中获取一个字符,它是fgetc()的一个宏。它的函数原型如下:

int getc(FILE *stream);

getc()函数与fgetc()函数的功能几乎完全相同,区别在于它可以是一个宏,而不是一个函数,因此效率可能略有不同。getchar()函数也是getc()的一个宏。

以下是一个使用getc()函数从文件中读取字符并打印的示例:

#include <stdio.h>

int main() {
    FILE *file;
    int c;
    
    file = fopen("example.txt", "r");  // 打开文件供读取
    
    if (file) {
        c = getc(file);  // 从文件中获取一个字符
        
        printf("Read from file: %c\n", (char)c);
        
        fclose(file);  // 关闭文件
    }
    
    return 0;
}

注意:以上示例中的example.txt是一个包含文本的文件,在读取文件之前,请确保你有这样一个文件可供读取。

这就是关于getchar()fgetc()getc()函数的返回类型的介绍。希望对你有所帮助!