如何在char数组中搜索特定字符?
关注我的代码,但我认为函数strchr
中的不正确:
while((c = getc(fp)) != EOF) {
for (i = 0; i < 1; i++) {
c2[i] = c;
int test = strchr(";", c2[i]);
}
printf("%c", c);
}
我的结构有int索引,int数据和指向下一个寄存器的指针。我用一些来自我的.cvs文件的数据填充数组(c2 [100])。在我阵列的第一个寄存器中,我得到了这样的东西:800;卢卡斯。我需要找到角色';'在这个数组中并将其拆分,然后数字800将是结构 - &gt;索引,名称'lucas'将是结构 - &gt;数据。
答案 0 :(得分:2)
对于每个读取的字符,您将它存储到c2[]
数组的第一个插槽中(忽略数组的其余部分),然后调用strchr()
来检查读取的字符是否为是;
还是不。使用strchr()
就是矫枉过正。以下将更简单:
while((c = getc(fp)) != EOF)
{
if (c == ';')
{
...
}
printf("%c", c);
}
如果您实际上是尝试搜索数组,那么您使用strchr()
方式错误。它应该更像是这样,假设c2[]
已经包含您要搜索的以null结尾的字符串数据:
while((c = getc(fp)) != EOF)
{
int test = strchr(c2, c);
...
printf("%c", c);
}