比较两个文件的列

标签 c arrays file

我是一名新的 C 程序员。 当我有两个文件时,我遇到了这种情况。第一个文件有 4 列,第二个文件有 2 列。我需要将第一个文件的第三列与第二个文件的第一列进行比较。我正在寻找高效的 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++;
}

最佳答案

改变这个

 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);   

关于比较两个文件的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18745596/

相关文章:

c - GtkFileChooserDialog gtk_file_chooser_get_filename() 返回 null,即使输入了文件名?

c - 在 C 中从文件中填充字符串时获取垃圾

string - 从内存中的字符串加载node.js模块

Javascript,将数字数组转换为 double

C# 等效于 FILE 声明

android - 如何在android中查找重复文件

c - 简单的 sdl 游戏非常慢,而 cpu 为 1.2%

c - const char* 的 strlen 是否经过优化?

javascript - 在给定的数组中,我试图获取出现偶数次的值,

java - 从字符串中获取字符