C语言输入输出函数

C语言提供了一组标准库函数,用于处理输入和输出操作。这些函数主要定义在<stdio.h>头文件中,涵盖了从标准输入输出(如键盘和屏幕)到文件操作的各种需求。以下是一些常用的C语言输入输出函数及其简要说明:


🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:gylzbk

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

1. 标准输入输出函数

1.1 printf

printf函数用于将格式化的输出打印到标准输出(通常是屏幕)。

#include <stdio.h>

int main() {
    int a = 10;
    float b = 3.14;
    char c = 'A';
    printf("Integer: %d\n", a);
    printf("Float: %.2f\n", b);
    printf("Character: %c\n", c);

    return 0;
}

1.2 scanf

scanf函数用于从标准输入(通常是键盘)读取格式化输入。

#include <stdio.h>

int main() {
    int a;
    float b;
    char c;
    printf("Enter an integer, a float, and a character: ");
    scanf("%d %f %c", &a, &b, &c);
    printf("You entered: %d, %.2f, %c\n", a, b, c);

    return 0;
}

1.3 getsputs

gets函数用于从标准输入读取一行字符串。puts函数用于将字符串输出到标准输出。

#include <stdio.h>

int main() {
    char str[100];
    printf("Enter a string: ");
    gets(str); // 注意:gets函数不安全,可能导致缓冲区溢出,建议使用fgets替代
    puts("You entered:");
    puts(str);

    return 0;
}

1.4 fgetsfputs

fgets函数用于从标准输入读取一行字符串,指定最大读取长度。fputs函数用于将字符串输出到标准输出。

#include <stdio.h>

int main() {
    char str[100];
    printf("Enter a string: ");
    fgets(str, sizeof(str), stdin);
    printf("You entered:");
    fputs(str, stdout);

    return 0;
}

2. 文件输入输出函数

2.1 fopenfclose

fopen函数用于打开一个文件,并返回一个文件指针。fclose函数用于关闭文件。

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");
    if (file == NULL) {
        perror("Failed to open file");
        return 1;
    }
    fclose(file);

    return 0;
}

2.2 fprintffscanf

fprintf函数用于将格式化输出写入文件。fscanf函数用于从文件读取格式化输入。

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");
    if (file == NULL) {
        perror("Failed to open file");
        return 1;
    }
    fprintf(file, "Hello, World!\n");
    fclose(file);

    file = fopen("example.txt", "r");
    if (file == NULL) {
        perror("Failed to open file");
        return 1;
    }
    char str[100];
    fscanf(file, "%s", str);
    printf("Read from file: %s\n", str);
    fclose(file);

    return 0;
}

2.3 fgetsfputs(文件)

fgets函数用于从文件读取一行字符串。fputs函数用于将字符串写入文件。

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");
    if (file == NULL) {
        perror("Failed to open file");
        return 1;
    }
    fputs("Hello, World!\n", file);
    fclose(file);

    file = fopen("example.txt", "r");
    if (file == NULL) {
        perror("Failed to open file");
        return 1;
    }
    char str[100];
    fgets(str, sizeof(str), file);
    printf("Read from file: %s\n", str);
    fclose(file);

    return 0;
}

2.4 freadfwrite

fread函数用于从文件读取数据块。fwrite函数用于将数据块写入文件。

#include <stdio.h>

int main() {
    FILE *file = fopen("example.bin", "wb");
    if (file == NULL) {
        perror("Failed to open file");
        return 1;
    }
    int data[] = {1, 2, 3, 4, 5};
    fwrite(data, sizeof(int), 5, file);
    fclose(file);

    file = fopen("example.bin", "rb");
    if (file == NULL) {
        perror("Failed to open file");
        return 1;
    }
    int readData[5];
    fread(readData, sizeof(int), 5, file);
    for (int i = 0; i < 5; i++) {
        printf("%d ", readData[i]);
    }
    printf("\n");
    fclose(file);

    return 0;
}

2.5 fseekftell

fseek函数用于移动文件指针到指定位置。ftell函数用于获取当前文件指针的位置。

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w+");
    if (file == NULL) {
        perror("Failed to open file");
        return 1;
    }
    fputs("Hello, World!\n", file);
    fseek(file, 0, SEEK_SET); // 移动文件指针到文件开头
    char str[100];
    fgets(str, sizeof(str), file);
    printf("Read from file: %s\n", str);
    long pos = ftell(file); // 获取当前文件指针位置
    printf("Current position: %ld\n", pos);
    fclose(file);

    return 0;
}

这些输入输出函数为C语言程序提供了灵活的输入输出操作能力,涵盖从标准输入输出到文件操作的各个方面。掌握这些函数可以帮助程序员编写高效、健壮的C语言程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I'mAlex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值