我想从我的字符串中获取前两个字符.让我说我的字符串dbdir = "Dir"和我的其他字符串test = "20122".我想从test中获取前两个字符并将其与dbdir字符串组合.所以结果将是字符串组合= Dir20然后我想在另一个字符串中使用组合字符串作为文件.
这是我的代码
std::string dbdir = "Dir";
std::string test = "20122";
//strip first two chars from test//
std::string result_of_test_strip = ;
std::string combined = ""+ dbdir + result +"";
CString fileToOpen = "\"\\\\CAR\\VOL1\\Docs\\PRE\\15\\" + result_of_test_strip.c_str() + "\\" + filenum.c_str() + ".prt" + "\"";
Run Code Online (Sandbox Code Playgroud)
建议的答案@therainmaker
std::string dbdir = "Dir";
std::string test = "20122";
std::string result = test.substr(0, 2);
std::string combined = dbdir + result;
CString fileToOpen = "\"\\\\CAR\\VOL1\\Docs\\PRE\\15\\" + combined.c_str() + "\\" + filenum.c_str() + ".prt" + "\"";
Run Code Online (Sandbox Code Playgroud)
the*_*ker 11
您可以使用该substr函数来提取字符串的任何相关部分.
在你的情况下,要提取前两个字符,你可以写
string first_two = test.substr(0, 2) // take a substring of test starting at position 0 with 2 characters
Run Code Online (Sandbox Code Playgroud)
前两个字符的另一种方法可能是
string first_two;
first_two.push_back(test[0]);
first_two.push_back(test[1]);
Run Code Online (Sandbox Code Playgroud)
此外,在您的string_combined行中,您不需要""在开头和结尾添加空字符串.以下行也可以使用:
string combined = dbdir + result;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13639 次 |
| 最近记录: |