比较两个文件的列

时间:2013-09-11 15:40:19

标签: c arrays file

我是一名新的C程序员。 当我有两个文件时,我遇到了这种情况。第一个文件有4列,第二个文件有2列。我需要将第一个文件的第3列与第二个文件的第一列进行比较。我正在寻找有效的C代码。我必须将文件转换为数组吗?我怎么能这样做?

这是我的代码部分,我尝试将第3列转换为数组但由于类型不兼容而无效:

int countlines = 0;
char names[countlines][100];
double column1;
char column2[15];
char column3[15];
int column4;

while(!feof(pack)) {
    fscanf(pack, "%lf %s %s %i\n", &column1, column2, column3, &column4);
    names[countlines] = column3;
    countlines++;
}

1 个答案:

答案 0 :(得分:1)

更改此

 char names[countlines][100];  

像这样,假设您的文件中最多有50行。

#define MAX_LINES 50

char names[MAX_LINES][100];    

确保在fscanf(pack, "%lf %s %s %i\n", &column1, column2, column3, &column4);此声明之后

通过打印它们来符合尊重的变量值。如果那些或罚款,然后使用strcpy()复制字符串。

strcpy(names[countlines], column3);
countlines++;  
    or 
strcpy(names[countlines++], column3);