使用strtok在条件上拆分字符串?

时间:2015-01-06 17:23:45

标签: c++ arrays string

我有数组[2] [3] = {e-> id = m,                    间 - >吨| E | NULL};

我试图以两种方式分割字符串:如果它找到了' " " ' (空的空间)它应该分开,如果它发现" |"然后它又一次分裂。我知道这不对,但任何人都可以帮助我吗?

for i=0 t0 row 
   for j=0 to col
      c41= a[i][j].c_str();
      strcpy(pch55,c41);
      pch5=strtok(pch55,"|" || " "); // is it correct???
      for ( int u=0;pch5 != NULL;u++)
      {
          z33[u]= pch5;

          pch5 = strtok (NULL,"|" || " ");  //is it correct??

      }

1 个答案:

答案 0 :(得分:1)

使用

pch5=strtok(pch55,"| "); // notice the space at the end

在第5行,

pch5=strtok(NULL, "| ");

在第10行。

strtok(3)的第二个arg是用作分隔符的字符集合,而不是字符串分隔符。而且,NULL告诉它从它停止的地方继续。