相关疑难解决方法(0)

在C中双重拆分

好.例如,我在我的txt文件中有这一行:

1|1,12;7,19;6,4;8,19;2,2
如你所见,它有2个部分,由...分隔|.我没有问题获得两个部分,并1,12;7,19;6,4;8,19;2,2使用;分离器分离第二部分.但我确实有进一步分离的问题,,以获得每组的第一和第二个数字.

这是我目前的代码:

  result = strtok(result, ";");

  while(result != NULL ) {
      printf("%s\n", result);
      result = strtok(NULL, ";");
  }
Run Code Online (Sandbox Code Playgroud)

它输出我:

1,12
7,19
6,4
8,19
2,2

太好了.但是,当我尝试"strtok"(我正在使用此方法进行拆分)时,如下所示:

 result = strtok(result, ";");

 while(result != NULL ) {
     //printf("%s\n", result);
     help    = strtok(result, ",");    
     while(help != NULL) {
         printf("<%s>", help);
         help = strtok(NULL, ",");
     }

     result  = strtok(NULL, ";");
 }
Run Code Online (Sandbox Code Playgroud)

我只得到"<1>,<12>",就像这组数字中只有一组一样.我不明白其他数字在哪里.相反,输出应该是:<1>,<12>,<7>,<19>,<6>,<4>,<8>,<19>,<2>,<2>.有人可以给出一个解决方案,如何获得每组的EACH号码这组数字.也许有其他方法或我做错了:)

谢谢!

c string split strtok

7
推荐指数
2
解决办法
2570
查看次数

标签 统计

c ×1

split ×1

string ×1

strtok ×1