当前位置:首页C语言 > 正文

c语言中fgets和sscanf

作者:野牛程序员:2023-11-23 14:52:06C语言阅读 2500

fgets用于从文件流中读取一行字符串,而sscanf用于按照指定的格式从字符串中读取数据。fgets从文件中读取一行,包括换行符,然后将其存储为一个字符串。另一方面,sscanf根据指定的格式字符串从字符串中读取数据,并将其存储到指定的变量中。

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "r"); // 打开文件用于读取
    char buffer[100];

    if (file != NULL) {
        // 使用fgets从文件中读取一行
        if (fgets(buffer, sizeof(buffer), file) != NULL) {
            // 处理读取到的字符串
            printf("Read from file: %s", buffer);

            // 使用sscanf从字符串中读取数据
            int intValue;
            float floatValue;
            char stringValue[50];
            
            sscanf(buffer, "%d %f %s", &intValue, &floatValue, stringValue);

            // 处理读取到的数据
            printf("Parsed values: %d, %.2f, %s\\n", intValue, floatValue, stringValue);
        } else {
            printf("Failed to read from file.\\n");
        }

        // 关闭文件
        fclose(file);
    } else {
        printf("Failed to open file.\\n");
    }

    return 0;
}

上面的示例代码假设文件 "example.txt" 中包含一行类似于 "42 3.14 Hello" 的内容。fgets用于从文件中读取整行,然后sscanf用于按照指定的格式解析该行的内容并将其存储到相应的变量中。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击