c++ - 修改文件路径以在 Printf 中使用

标签 c++ c windows printf

我有一个类似于 "c:\x\y\z"

的字符串

我想要它的形式 "c://x//y//z"

我尝试使用 stdString.replace("\","//"); 但它不起作用。

有什么建议吗?

最佳答案

如果您的字符串是"c:\x\y\z",则您的字符串中没有\\ 表示转义字符。将您的字符串更改为 "c:\\x\\y\\z"

另外,请注意 replace 是如何工作的 - http://www.cplusplus.com/reference/string/string/replace/

我不认为你可以直接用两个"//"替换一个字符'\\'。 (我可能会被证明是错误的)。

备选方案:

std::stringstream ss;
for ( int i = 0 ; i < str.size() ; i++ )
{
    if ( str[i] == '\\' )
        ss << "//";
    else
        ss << str[i];
}
str = ss.str();

关于c++ - 修改文件路径以在 Printf 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11028501/

相关文章:

c++ - 使用 getline 从文件中获取多行并将它们输入到不同的数组中

c++ - 添加索引为 -2 的整数

c++ - 线程环基准

c - 这个 C 构造 : 'int myInt = ( { int x=42; x; } );' ? 的术语是什么

windows - 如何找出唤醒我的电脑的所有 Windows 计划任务?

c++ - Windows/C++ : why are loaded module memory bytes changing at run-time?

c++ - 浮点指令异常——FLDZ发生故障?

c++ - 使用此 CMake 链接命令仍然需要针对 OpenMP::OpenMP_CXX 的显式链接吗?

c - 卡尔曼滤波器 - 四元数 - 角度传感器

python - 需要更改 virtualenv 的哪些部分才能重新定位它?