过滤 CSV 文件以查找用户在 C 中输入的名称

问题描述 投票:0回答:1

我有一个包含多列的大 CSV 文件,我需要编写一个函数来检查每一行,以查看用户输入的名称是否与第二列上的信息匹配。如果确实匹配,则增加计数器(称为 dupe)并存储信息(尽管还没有到达该部分,因为我无法使其他所有内容正常工作)。这是我的代码:

char buffer;
fgets(buffer, MAX_LINE, fp);
char* token = strtok(buffer, ";");

while (token !=NULL){
 token = strtok (NULL, ";");
 while(fgets(buffer, MAX_LINE, fp) != NULL){
    
    token = strtok(buffer, ";");
    strcpy(bufferCode,token);


     token = strtok(NULL, ";");
     strcpy(bufferName,token);


      if(bufferName == name){          <--------- name is the parameter of the function
        dupe++;
      }
  }

我尝试了不同的方法,并寻找解决我发现的问题的方法,但无济于事。使用 strtok 是我发现的过滤 CSV 并从中获取信息的唯一方法,此时我已经没有想法/不完全明白我做错了什么。

c string csv pointers
1个回答
0
投票

您正在使用相等运算符来比较字符串:

==
,它比较内存地址,而不是实际的字符串内容。您是否尝试过使用
strcmp()
来比较字符串?

© www.soinside.com 2019 - 2024. All rights reserved.