小编inn*_*sas的帖子

问题strtok在c ++中

我在使用c ++中的strtock时遇到问题我需要从文件中读取以下行

6:00,6:20,6:40,7:00,7:20,7:40,8:00,8:50,9:40,10:30,11:20,12:00 的长度这条线是未知的(我不知道我有多少参数);

我尝试做这个功能:

void RailwayLine::initilizeLoz(char line[1024])
 {

  char * pch;
  char * timeReader;
  Hour *hour;
  char * pch2=NULL;
  int time;
  int minute;
  char line2[1024];
  strcpy(line2,line);
  pch = strtok (line2,",");
 while (pch != NULL)
   {
    delete pch2;
    pch2= new char(strlen(pch)+1);
    if(pch2!=NULL)
   strcpy(pch2,pch);
    timeReader = strtok (pch2,":");
    time=atoi(timeReader);
    timeReader = strtok (NULL,":");
    minute=atoi(timeReader);
    hour=new Hour(time,minute);

           this-> UpdateLoz((*hour));

             pch=strtok(NULL,",");


   }


 }
Run Code Online (Sandbox Code Playgroud)

但它不起作用.itj只读取第一个参数(7:10)!什么可以是什么问题?我该如何改进我的代码?谢谢

c++

2
推荐指数
1
解决办法
592
查看次数

标签 统计

c++ ×1