gpt4 book ai didi

c++ - 在 C++ 中用正斜杠或双反斜杠替换反斜杠

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:49:29 27 4
gpt4 key购买 nike

所以我有一个字符串:

string path = "C:\Users\Richard\Documents\Visual Studio 2010\Projects\Client\Debug";

我想用正斜杠替换其中的所有反斜杠,所以它看起来像:

C:/Users/Richard/Documents/Visual Studio 2010/Projects/Client/Debug

这不起作用:

string toReplace = "\\";
path.replace(path.find(toReplace), toReplace.length(), "/");

显然,\是一个转义字符,所以这可能是导致问题的原因。

最佳答案

我在使用 g++ 的 path 字符串上遇到编译器错误,因为它包含无效的转义码。显然,MSVC 会产生警告但不会产生错误(请参阅 Michael Burr 的回答)。因此,如果您确实在使用您发布的 path,请将反斜杠更改为双反斜杠。

更正这一点,我发现您的代码仅替换了第一个反斜杠并保留了其他反斜杠。也许你想使用 std::replace(),像这样:

std::replace(path.begin(), path.end(), '\\', '/');

关于c++ - 在 C++ 中用正斜杠或双反斜杠替换反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4444486/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com