我有以下代码,我无法弄清楚如何将char字符串转换为std字符串。有人可以帮帮我吗?
char Path[STRING_MAX];
test->getValue(Config::CODE,Path);
size_t found;
cout << "Splitting: " << Path << endl;
found=Path.find_last_of("/");
cout << " folder: " << Path.substr(0,found) << endl;
cout << " file: " << Path.substr(found+1) << endl;
答案 0 :(得分:3)
使用此:
std::string sPath(Path);
或:
std::string sPath = Path;
或:
std::string sPath;
sPath.assign(Path);
答案 1 :(得分:2)
如果C字符串 以null结尾,则Erik演示的方法将正常工作。
但是,如果C字符串不是以空值终止,则必须执行以下操作(假设有人知道有效数据的长度):
std::string sPath(Path, PathLength);
或:
// given std::string sPath
sPath.assign(Path, PathLength);
答案 2 :(得分:0)
std::string pathstr(Path);
将使用std::string
的构造函数对其进行转换。