我在struct中有一个char数组。
myStruct->string;
我实际上可以打印myStruct->string
,一切都在那里,内存也正确分配。
问题是,当我试图找到'\n'
时,我正在尝试计算新线数。这是代码:
while(myStruct->string)
{
if(strchr('\n', myStruct->string))
myStruct->numbLines++;
myStruct->string++;
}
我认为if语句是问题。
答案 0 :(得分: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++;
}