C#函数转C++
- C# code
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; }如何将以上的C#函数转为C++形式的呢?
[解决办法]
你叙述下函数功能吧,C#不是很了解啊……
[解决办法]
有C#转换成C++的功能网站和工具
当然 有时候不太准确
百度下
[解决办法]
转换主要的难度在于字符串的分解,这里给你一个字符串分解的例子:
- C/C++ code
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。
-
另没明白楼主的意图。
理解能力不好。
[解决办法]
int不能直接转换成string。
- C/C++ code
char acTmp[10] = {0};sprintf(acTmp ,"%d" ,ts.GetHours());values[0] = acTmp;
[解决办法]
另:string不能有那么多相加。
改过之后代码编译通过。
运行楼主还是自己调试吧。
- C/C++ code
case 2: Result += values[0]; Result += ":"; Result += values[1];