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 に答える