0

我在结构中有一个 char 数组。

myStruct->string;

我实际上可以打印myStruct->string所有内容,内存也分配正确。

问题是当我试图找到'\n'我试图计算有多少新行时。这是代码:

while(myStruct->string)
{
    if(strchr('\n', myStruct->string))
        myStruct->numbLines++;

    myStruct->string++;

}

我认为 if 语句是问题所在。

4

1 回答 1

0

您在这里使用 strchr() 对我来说真的没有意义。我建议如下:

char* ptr = mystruct->string;//make a copy of the pointer so that the original is not changed
while(ptr)
{
    if( (*ptr) == '\n' )
        myStruct-->numbLines++;
    ptr++;    
}
于 2013-11-10T07:47:06.437 回答