首页 > 解决方案 > 将文本文件逐行读取到c中的结构中

问题描述

我是 c 编程的新手,但我想创建一个 ac 函数,它可以逐行读取由制表符分隔符(\t)分隔的文本文件的内容并将它们存储到数据结构中,然后在清除文件后但有仍然失败。我的代码是

struct Busy_list{
    int client_socket;
    char JOB[1024];
    int characters;
    int No_jobs;
    int IsReplace;
    int Priority;
};



char** PriorityEvaluator(int client_socket){
struct Busy_list Array;

FILE *Ufptr;
Ufptr = fopen("Unsorted_busy_list.txt","r+");
    for(int i;!EOF;i++){
        fscanf(Ufptr, "%d\t%s\t%d\t%d\t%d\n",&Array.client_socket,&Array.JOB,&Array.characters,&Array.No_jobs,&Array.IsReplace);
    }
    fclose(Ufptr);
}

我的 Unsorted_busy_list 文件包含

/*

4   double fish 4   1   0

5   double praise   6   2   0

5   replace peter 2-o,4-o   5   2   1

*/

标签: cdata-structurestext-files

解决方案


尝试用这样的 while 循环替换你的 for 循环:

while((fscanf(Ufptr, "%d\t%s\t%d\t%d\t%d\n",&Arguments...)) != EOF){
}

推荐阅读