如何知道CSV文件中的char/string行
例如,我有一个CSV文件:如何知道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
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编辑