检查字符串是否包含反斜杠

时间:2014-12-05 20:09:19

标签: c++ qt

我使用文件对话框来获取文件名。然后我在处理中使用此名称。我的问题是文件名包含反斜杠char \,当我们在任何编程语言中使用路径时,我们必须将\字符更改为\\。我们如何用反斜杠解决这个问题?

2 个答案:

答案 0 :(得分:2)

  

当我们在任何编程语言中使用路径时,我们必须更改' \' char to" \"

事实并非如此。

首先,通过添加另一个反斜杠来转义反斜杠,而不是用双引号替换单引号。这是荒谬的。

其次,每种编程语言都有很多不同的广泛概括,关于你需要做什么"任何编程语言"是荒谬的。

此外,在C ++中,只有在将字符写入字符串文字时才需要转义反斜杠,因为在字符串文字中,未转义的反斜杠允许您直接在源代码中输入不可读/不可写的字符。但是一旦得到的字符串在内存中,它包含反斜杠并不重要。

您无需更改任何内容。

答案 1 :(得分:0)

如果Lightness Races in Orbit回答了您的问题,您应该接受答案。

我怀疑您实际上是在尝试询问与系统无关的文件路径,如下所述:Thomas Matthews

如果是这种情况,您应该利用QFileInfo

或者你可以使用boost.filesystem.path是一个很好的选择,我理解它将被纳入C ++ 17标准。