我有一个可变长度的字符串,我试图将其与加号分开并研究:
char string[] = "var1+vari2+varia3";
for (int i = 0; i != sizeof(string); i++) {
memcpy(buf, string[0], 4);
buf[9] = '\0';
}
由于变量的大小不同,我正在尝试编写一些将字符串带入循环并提取(除法)变量的东西。有什么建议 ?我期待的结果如下:
var1
vari2
varia3
最佳答案
您可以使用strtok()
按分隔符分隔字符串
char string[]="var1+vari2+varia3";
const char delim[] = "+";
char *token;
/* get the first token */
token = strtok(string, delim);
/* walk through other tokens */
while( token != NULL ) {
printf( " %s\n", token );
token = strtok(NULL, delim);
}
有关 strtok()
的更多信息:https://man7.org/linux/man-pages/man3/strtok.3.html
关于将特定数量的字符从一个字符串复制到另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63460129/