c - 在 C 中标记字符串

标签 c string tokenize

我一直在尝试使用 SPACE 作为分隔符来标记字符串,但它不起作用。有人对它为什么不起作用有任何建议吗?

编辑:标记化使用:

strtok(string, " ");

代码如下

pch = strtok (str," ");
while (pch != NULL)
{
  printf ("%s\n",pch);
  pch = strtok (NULL, " ");
}

最佳答案

这样做:

char s[256];
strcpy(s, "one two three");
char* token = strtok(s, " ");
while (token) {
    printf("token: %s\n", token);
    token = strtok(NULL, " ");
}

注意:strtok 修改其标记化的字符串,因此它不能是 const char*

关于c - 在 C 中标记字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/266357/

相关文章:

字符串到字节 [] 转换的 .NET 缺陷?

C Tokenizer 程序中动态分配的内存 getNextToken 函数

string - 如何获取 &str 的最后一个字符?

c++ - 总是输出 65535 个字符?

c - 为什么我的简单舍入技巧不起作用?

c - 在C中显示特殊字符

string - 如何找到第n个标记的位置

python - 如何使用 NLTK 分词器去除标点符号?

c - 围绕变量 per/temp 进行堆栈

c - OpenGL 在顶点着色器中找到 `in vec3 vert` 但不是 `in float val`