如何知道CSV文件中的char/string行

如何知道CSV文件中的char/string行,c,file,C,File,例如,我有一个CSV文件: 1 ,2 ,3 ,4 5 ,6 ,7 ,8 a ,b ,c ,d e ,f ,g ,h 我想知道哪一行包含字符“c”。 我怎么知道? 我 下面是我的代码 FILE* srcFile = fopen(argv[ONE], "r"); char str[MAX_LETTERS] = { 0 }; char letter = ' '; char copy = ZERO; int count = 1; fgets(str, MAX_LETTERS, stdin); st

例如,我有一个CSV文件:

1 ,2 ,3 ,4
5 ,6 ,7 ,8
a ,b ,c ,d
e ,f ,g ,h
我想知道哪一行包含字符“c”。 我怎么知道? 我 下面是我的代码

FILE* srcFile = fopen(argv[ONE], "r");

char str[MAX_LETTERS] = { 0 };
char letter = ' ';
char copy = ZERO;
int count = 1;

fgets(str, MAX_LETTERS, stdin);
str[strcspn(str, "\n")] == ZERO;
copy = fgetc(srcFile);
while (copy != EOF)
{
    if (copy == str)
    {
        printf("find %d", count);
        break;
    }
    else if (copy == "\n")
    {
        printf("nextLine");
        count++;
    }
    copy = fgetc(srcFile);
}

假设您正在逐行读取文件,您只需创建一个计数器,并且对于读入的每一行,计数器递增一。如果你一个字符一个字符地阅读,你可以计算换行数。

C中的双等号用于比较,单等号用于赋值

它出现在行中,

str[strcspn(str,“\n”)]==0

正在进行比较,而不是将str数组给定索引处的字符设置为零


如果您试图在换行符处终止字符串,请将其更改为一个等号。

您是否尝试过任何操作,如果是,请提供一个简单的说明,并简要说明错误所在。问答网站也是如此,而不是代码编写服务-->
int copy=零更改以与
EOF
进行比较
copy==“\n”
-->
copy=='\n'
CString到字符
copy==str
-->
copy===str
出于同样的原因。但是我如何比较它们呢?它给了我错误q4.c:143:警告:指针和指针之间的比较integer@BLUEPIXY Edited@BLUEPIXY编辑