C语言读取文件如何跳过第一行开始读取。用fscan

C语言读取文件如何跳过第一行开始读取。用fscanf
读取txt文本

#include <stdio.h>

int main() 
{
    FILE *file = fopen("example.txt", "r");

    char buf[100];
    fgets(buf, sizeof(buf), file);
    int value;
    while (fscanf(file, "%d", &value) == 1) {
        printf("%d\n", value);
    }

    fclose(file);
    return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7785264
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:关于C语言中从文件读取数据时,fopen,fopen_s和fscanf,fscanf_s的函数用法(函数的用法有很大区别)
  • 除此之外, 这篇博客: C文件操作2:如何随机的进行文件读取?中的 fscanf 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    函数原型:

    /** @func:  fscanf
    *   @brief: 从文件中读取格式化的字符串
    *   @para:  [fp]:文件指针
    *           [format]:格式化字符串,从fp中读出的内容
    *   @return:读取成功,返回读出的字符数
    *           读取失败,返回负数
    */
    int fscanf(FILE *fp, const char *format, ...)
    

    使用方法:

    FILE *fp = fopen ("test.txt", "r");
    char str[64]
    int num;
    fscanf(fp, "%s %d", str, num);
    fclose(fp);
    
  • 以下回答来自chatgpt:

    根据问题的描述和参考资料,可以使用以下步骤来跳过文本的第一行,并从第二行开始读取数据:

    1. 打开文件:使用fopen函数打开包含要读取的文本数据的文件。例如,可以使用以下代码打开名为a.txt的文件:
    FILE* file = fopen("a.txt", "r");
    
    1. 跳过第一行:使用fgets函数读取并忽略第一行数据。可以使用以下代码跳过第一行:
    char firstLine[100];
    fgets(firstLine, sizeof(firstLine), file);
    
    1. 读取数据:使用fscanf函数在循环中读取文件剩余行的数据。可以使用类似于参考资料段落0所示的代码来实现。例如:
    char Name[20];
    char Time[20];
    char Action[20];
    while (fscanf(file, "%19[^,],%19[^,],%s", Name, Time, Action) == 3)
    {
        printf("%s %s %s\n", Name, Time, Action);
    }
    
    1. 关闭文件:使用fclose函数关闭文件,释放资源。例如:
    fclose(file);
    

    完整的解决方案代码如下:

    #include <stdio.h>
    
    int main()
    {
        FILE* file = fopen("a.txt", "r");
        if (file == NULL) {
            printf("文件打开失败\n");
            return 1;
        }
    
        char firstLine[100];
        fgets(firstLine, sizeof(firstLine), file);
    
        char Name[20];
        char Time[20];
        char Action[20];
        while (fscanf(file, "%19[^,],%19[^,],%s", Name, Time, Action) == 3)
        {
            printf("%s %s %s\n", Name, Time, Action);
        }
    
        fclose(file);
    
        return 0;
    }
    

    以上代码将打开名为a.txt的文件,跳过第一行并从第二行开始读取数据,并将每行数据按指定格式进行输出。如果文件不存在或打开失败,程序将打印错误信息并退出。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^