关于在处使用字符串:将char转换为字符串的说明

Clarification on converting char to string using string::at

本文关键字:字符串 转换 char 说明      更新时间:2023-10-16

所以我想将\的每个实例转换为\\,以便在创建目录的函数中使用。

string stripPath(string path)
{       
    string newpath;  
    for (int i = 0; i <= path.length() ;i++)
    {
        if(path.at(i) == '')
        {
            string someString( path.at(i) );
            newpath.append(path.at(i));
            newpath.append(path.at(i));
        }
    else
    newpath.append(path.at(i));
    }
    return newpath;
} 

newpath.append需要一个字符串,所以我试图在path.at(I)之外创建一个字符串。我在Visual Studio上收到一个错误,说没有构造函数的实例与参数列表匹配。我已经导入了字符串。

以下是string的文档:at。我很困惑,因为我觉得我做得对吗?

http://www.cplusplus.com/reference/string/string/at/

std::string没有任何使用char&作为参数的构造函数。呼叫应为:

string someString( 1,  path.at(i) );

附加单个字符通常使用+=运算符:

newpath += path.at(i);

错误与追加调用有关,应该是:

newpath.append(1, path.at(i));