在char指针中搜索'\n'使用c

ste*_*ave 1 c gcc

我试图循环一个char*str使用它来找出多少行:

char *str = "test1\ntest2\ntest3";

int lines = 0;

for(int i = 0 ; i < ?? ; i ++ )
{
    if(str[i] == '\n') {
        lines++;
    }
}
Run Code Online (Sandbox Code Playgroud)

我不知道该放什么?,问题是:

1.我的意思是我需要使用strlen(str)+ 1吗?

2.当str为"test1 \ntest2 \ntest3 \n"时,代码是否仍然计算正确的行?

我顺便使用gcc,谢谢

Ani*_*dha 7

每个文字字符串以\0null字符结尾.它描绘了字符串的结尾

所以,你可以做到这一点

for(int i = 0 ; str[i]!='\0' ; i ++ )
Run Code Online (Sandbox Code Playgroud)