你如何在C中拆分字符串?

App*_*ker 1 c string algorithm

如果我有一个像这样的字符串:

const char* mystr = "Test Test Bla Bla \n Bla Bla Test \n Test Test \n";
Run Code Online (Sandbox Code Playgroud)

我如何使用换行符'\n'将字符串拆分为字符串数组?

我试图在C中完成,C string.Split()#中的东西或者splitC++中的boost的字符串算法.

cni*_*tar 8

尝试使用该strtok功能.请注意,它会修改源内存,因此您无法将其与字符串文字一起使用.

char *copy = strdup(mystr);
char *tok;

tok = strtok(copy, "\n");
/* Do something with tok. */
while (tok) {
    tok = strtok(NULL, "\n");
    /* ... */
}

free(copy);
Run Code Online (Sandbox Code Playgroud)