C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > C 语言库函数

C 语言输入输出库函数讲解(最新推荐)

作者:要下雨了吗

输入输出函数能够让程序和用户或者文件进行交互,这篇文章主要介绍了C 语言输入输出库函数讲解,需要的朋友可以参考下

输入输出函数:能够让程序和用户或者文件进行交互。        

 头文件:#include<stdio.h> 

1. printf 函数:输出格式化信息到控制台 💬

🔧 使用格式

printf("格式字符串", 参数列表);

🎯 作用

把格式化后的字符串输出到控制台。格式字符串里可以包含普通字符和格式说明符,格式说明符会被后面参数列表里的值替换。

📖 用法

格式说明符一般以 % 开头,常见的有 %d(用于输出整数)、%f(用于输出浮点数)、%c(用于输出字符)、%s(用于输出字符串)等。

⚠️ 注意事项

📌 适用类型

适用于各种基本数据类型以及字符串。

💡 示例

#include <stdio.h>
int main() {
    int age = 20;
    float height = 1.75;
    char grade = 'A';
    char name[] = "Alice";
    // 输出整数
    printf("年龄是 %d 岁。\n", age); 
    // 输出浮点数
    printf("身高是 %.2f 米。\n", height); 
    // 输出字符
    printf("成绩等级是 %c。\n", grade); 
    // 输出字符串
    printf("姓名是 %s。\n", name); 
    return 0;
}

🌟 解释

在这个例子中,printf 函数依据格式说明符把变量的值输出到控制台。%.2f 表示输出浮点数时保留两位小数。

2. scanf 函数:从控制台读取格式化输入 📥

🔧 使用格式

scanf("格式字符串", &变量1, &变量2, ...);

🎯 作用

从控制台读取用户输入的数据,并且按照格式字符串的要求把数据存储到对应的变量中。

📖 用法

格式说明符和 printf 函数里的类似,不过要在变量名前加上取地址符 &,以此表明是要把数据存储到该变量的地址处。

⚠️ 注意事项

📌 适用类型

适用于各种基本数据类型。

💡 示例

#include <stdio.h>
int main() {
    int num;
    float score;
    char ch;
    // 提示用户输入整数
    printf("请输入一个整数:"); 
    scanf("%d", &num);
    // 提示用户输入浮点数
    printf("请输入一个浮点数:"); 
    scanf("%f", &score);
    // 提示用户输入字符
    printf("请输入一个字符:"); 
    scanf(" %c", &ch); // 注意前面的空格,用于跳过之前输入的换行符
    // 输出用户输入的内容
    printf("你输入的整数是 %d,浮点数是 %.2f,字符是 %c。\n", num, score, ch); 
    return 0;
}

🌟 解释

这个例子中,scanf 函数按照格式说明符读取用户输入的数据,并把它们存储到对应的变量中。在读取字符前加空格是为了跳过之前输入的换行符。

3. getchar 函数:读取单个字符 ⌨️

🔧 使用格式

int getchar(void);

🎯 作用

从标准输入(通常是键盘)读取一个字符,并返回该字符的 ASCII 码值。

📖 用法

调用 getchar 函数时,程序会暂停,等待用户输入一个字符,按下回车键后,函数会返回该字符的 ASCII 码值。

⚠️ 注意事项

📌 适用类型

适用于字符类型。

💡 示例

#include <stdio.h>
int main() {
    char ch;
    // 提示用户输入一个字符
    printf("请输入一个字符:"); 
    ch = getchar();
    // 输出用户输入的字符
    printf("你输入的字符是 %c。\n", ch); 
    return 0;
}

🌟 解释

此例中,getchar 函数读取用户输入的一个字符,并将其赋值给变量 ch,然后输出该字符。

4. putchar 函数:输出单个字符 🖨️

🔧 使用格式

int putchar(int c);

🎯 作用

把一个字符输出到标准输出(通常是控制台)。

📖 用法

传入一个字符的 ASCII 码值或者字符常量,函数会将对应的字符输出到控制台。

⚠️ 注意事项

📌 适用类型

适用于字符类型。

💡 示例

#include <stdio.h>
int main() {
    char ch = 'B';
    // 输出字符
    putchar(ch); 
    putchar('\n'); // 输出换行符
    return 0;
}

🌟 解释

在这个例子中,putchar 函数把字符 B 输出到控制台,然后输出一个换行符。

5. fopen 函数:打开文件 📂

🔧 使用格式

FILE *fopen(const char *filename, const char *mode);

🎯 作用

打开指定文件名的文件,并返回一个指向该文件的 FILE 指针。

📖 用法

filename 是要打开的文件的名称,mode 是打开文件的模式,常见的模式有:

⚠️ 注意事项

📌 适用类型

适用于文件操作。

💡 示例

#include <stdio.h>
int main() {
    FILE *file;
    // 以只读模式打开文件
    file = fopen("test.txt", "r"); 
    if (file == NULL) {
        // 输出错误信息
        printf("无法打开文件!\n"); 
        return 1;
    }
    // 这里可以进行文件读取操作
    // 关闭文件
    fclose(file); 
    return 0;
}

🌟 解释

此例中,fopen 函数尝试以只读模式打开 test.txt 文件,若打开失败则输出错误信息,打开成功后可以进行文件读取操作,最后使用 fclose 函数关闭文件。

6. fclose 函数:关闭文件 ❌

🔧 使用格式

int fclose(FILE *stream);

🎯 作用

关闭指定的文件流,释放相关资源。

📖 用法

传入一个指向 FILE 类型的指针,该指针是通过 fopen 函数返回的。

⚠️ 注意事项

📌 适用类型

适用于文件操作。

💡 示例

#include <stdio.h>
int main() {
    FILE *file;
    // 以写入模式打开文件
    file = fopen("test.txt", "w"); 
    if (file == NULL) {
        // 输出错误信息
        printf("无法打开文件!\n"); 
        return 1;
    }
    // 这里可以进行文件写入操作
    // 关闭文件
    if (fclose(file) == 0) {
        printf("文件关闭成功!\n");
    } else {
        printf("文件关闭失败!\n");
    }
    return 0;
}

🌟 解释

这个例子中,fopen 函数以写入模式打开 test.txt 文件,进行文件写入操作后,使用 fclose 函数关闭文件,并根据返回值判断关闭是否成功。

7. fgets 函数:安全读取字符串 📃

🔧 使用格式

char *fgets(char *str, int n, FILE *stream);

🎯 作用

从指定的文件流中读取一行字符串,并存储到 str 指向的字符数组中。

📖 用法

str 是存储读取字符串的字符数组,n 是最多读取的字符数(包含换行符和字符串结束符 '\0'),stream 是文件流指针,可以是 stdin(标准输入)或者通过 fopen 打开的文件指针。

⚠️ 注意事项

📌 适用类型

适用于字符串类型。

💡 示例

#include <stdio.h>
int main() {
    char buffer[100];
    // 从标准输入读取一行字符串
    printf("请输入一行字符串:"); 
    fgets(buffer, sizeof(buffer), stdin);
    // 输出读取的字符串
    printf("你输入的字符串是:%s", buffer); 
    return 0;
}

🌟 解释

在这个例子中,fgets 函数从标准输入读取一行字符串,最多读取 sizeof(buffer) - 1 个字符,然后将其存储到 buffer 数组中,并输出该字符串。

8. fputs 函数:输出字符串到文件 📤

🔧 使用格式

int fputs(const char *str, FILE *stream);

🎯 作用

把字符串 str 输出到指定的文件流中。

📖 用法

str 是要输出的字符串,stream 是文件流指针,可以是 stdout(标准输出)或者通过 fopen 打开的文件指针。

⚠️ 注意事项

📌 适用类型

适用于字符串类型。

💡 示例

#include <stdio.h>
int main() {
    FILE *file;
    // 以写入模式打开文件
    file = fopen("test.txt", "w"); 
    if (file == NULL) {
        // 输出错误信息
        printf("无法打开文件!\n"); 
        return 1;
    }
    // 向文件中写入字符串
    fputs("Hello, World!\n", file); 
    // 关闭文件
    fclose(file); 
    return 0;
}

🌟 解释

此例中,fopen 函数以写入模式打开 test.txt 文件,fputs 函数把字符串 "Hello, World!\n" 写入文件,最后使用 fclose 函数关闭文件。

 缓冲区管理技巧

通用清空方案

void clear_buffer() {
    int c;
    while ((c = getchar()) != '\n' && c != EOF);
}

使用场景

scanf()后立即调用

处理异常输入时     

💡 黄金法则

掌握这些核心函数,你的C语言IO操作将游刃有余! 🎯

到此这篇关于C 语言输入输出库函数讲解的文章就介绍到这了,更多相关C 语言输入输出库函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文