从C中的文件读取包括char和整数

时间:2017-11-29 13:36:29

标签: c

如何读取文件中的以下文本中的每一列并将其存储到数组中

A17ke4004       44         66      84
A17ke4005       33         62      88
A17ke4008       44         66      86

第一列应为字符串,其余列应为整数

1 个答案:

答案 0 :(得分:1)

这是一个完成这项工作的简单代码。

首先将文本放在test.txt文件中,将其保存在C源代码路径中。

  

的test.txt

A17ke4004       44         66      84
A17ke4005       33         62      88
A17ke4008       44         66      86

<强> 代码

#include <stdio.h>

int main (void)
{

        FILE *fp = NULL;
        char *line = NULL;
        size_t len = 0;
        size_t read = 0;
        char string[10][32];
        int a[10], b[10], c[10];
        int count = 0;

        fp = fopen("test.txt", "r");

        if(fp != NULL){
            while((read = getline(&line, &len, fp)) != -1){
                sscanf(line, "%s%d%d%d", string[count], &a[count], &b[count], &c[count]);
                printf("<%s> - <%d> - <%d> - <%d>\n", string[count], a[count], b[count], c[count]);
                count++;
            }
        }else{
                printf("File can't open\n");
        }

        return 0;
}
  

编译,运行

gcc -Wall -Wextra te.c -o te

./te

如果您有超过10行,则应增加数组维度。 希望这能帮助你。