c - C 中的字符串标记

标签 c string tokenize

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

编辑:标记化使用:

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/28741953/

相关文章:

python:字典到字符串,自定义格式?

java - java中的自定义分析器,使用edgeNGram标记过滤器

c - 打印txt文件的校验和而不打印文件路径

c - 为什么在写入使用字符串文字初始化的 "char *s"而不是 "char s[]"时出现段错误?

c++ - 将 std::wstring 拆分为 std::vector

c - 在创建 RAW_SOCKET 错误时,如不允许操作

c++ - 找出字符串是否以 C++ 中的另一个字符串结尾

javascript - 使用正则表达式按单词或运算符拆分

c - 无法访问字符指针数组

c - 我的动态数组有问题