2014-12-05 75 views
-4

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

+0

这只对代码中的字符串文字是必需的,而不是在运行时创建的字符串。 – Columbo 2014-12-05 20:10:04

+0

这意味着如果我在QSting中存储路径并在另一个地方使用它,不会产生任何问题? – suhayb 2014-12-05 20:12:16

+0

我不知道您的语言是否缺少大写字母和标点符号,但英语在每个句子的开头都有一个大写字母,句子以句号结束。他们也倾向于永远不会跑。 – 2014-12-05 20:13:17

回答

2

,当我们在任何编程语言中使用的路径,我们必须改变“\”字符为“\”

这是不正确的。

首先,通过添加另一个反斜杠来实现转义反斜杠,而不是用双引号替换单引号。这是无稽之谈。其次,每一种编程语言都是不同的,所以关于“任何编程语言”需要做什么的广泛概括是荒谬的。

此外,在C++中,练字成字符串字面只有当你需要逃避反斜杠,因为在字符串中转义反斜线允许你输入不可读/不可写文字直接到你的源代码。但是,一旦结果字符串在内存中,它包含反斜杠并不重要。

你不需要改变任何东西。

0

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

我怀疑你实际上试图询问一个操作系统独立文件路径,如下所示:Thomas Matthews

如果这是你应该采取的QFileInfo

优势的情况下或者您可以使用boost.filesystem.path是一个很好的选择,以及我的理解将被拉入C++ 17的标准。