python中有split将字符串分割成list,c++里你应该这么做

我们知道,python里想读取文件内容,然后安装分割符在分割成list很简单使用split或者re.split即可。
但上面的过程在c++中就比较复杂了,有好几种方法,有使用stringstream的,有使用boost库的,但其实都挺复杂,同时对于需要正则分割的需求更不方便。这里推荐大家使用strtok这个来自于string.h的函数。代码如下。

// An highlighted block
  char str[] ="This a sample       string.";
  char * pch;
  
  printf ("Splitting string \"%s\" intokens:\n",str);
  pch = strtok (str," ");
  while (pch != NULL)
  {
    printf ("%s\n",pch);
    pch = strtok (NULL, " ");
  }

图中str字符串有一个空格也有多个空格分割的,这里strtok只需放置一个空格的参数即可。简单快捷。

你可能感兴趣的:(c++,python)