如何将char字符串转换为std字符串

时间:2011-04-05 18:20:48

标签: c++

我有以下代码,我无法弄清楚如何将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;

3 个答案:

答案 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的构造函数对其进行转换。