C#函数转C++
string GetTimeStr(string seconds, string format) { string Result = ""; TimeSpan ts = TimeSpan.FromSeconds(double.Parse(seconds)); string[] formats = format.Split(':', '.'); string[] values = new string[4]; values[0] = ts.Hours.ToString("00"); values[1] = ts.Minutes.ToString("00"); values[2] = ts.Seconds.ToString("00"); values[3] = ts.Milliseconds.ToString("000"); switch (formats.Length) { case 1: Result = values[0]; break; case 2: Result = values[0] + ":" + values[1]; break; case 3: Result = values[0] + ":" + values[1] + ":" + values[2]; break; case 4: Result = values[0] + ":" + values[1] + ":" + values[2] + "." + values[3]; break; } return Result; }int main(void) { vector<string> strvec; char str[] ="addd,bs,cgwg, we;f d*e"; const char * split = ",* ;"; char * p; p = strtok (str,split); while(p!=NULL) { string str = p; cout<<str<<endl; p = strtok(NULL,split); } return 0; }
[解决办法]
上正则表达式吧。有个库叫pcre。
[解决办法]
value[4]是什么类型?
如果是char[]的数据,那么就要用strcpy。
-
另没明白楼主的意图。
理解能力不好。
char acTmp[10] = {0};sprintf(acTmp ,"%d" ,ts.GetHours());values[0] = acTmp;
[解决办法]
另:string不能有那么多相加。
改过之后代码编译通过。
运行楼主还是自己调试吧。
case 2: Result += values[0]; Result += ":"; Result += values[1];