2014-12-05 6 views
-4

Я использую диалог файла, чтобы получить имя файла. Затем я использую это имя при обработке. Моя проблема заключается в том, что имя файла содержит обратный знак char \, и когда мы используем путь на любом языке программирования, мы должны изменить символ \ на \\. Как мы можем решить эту проблему с помощью обратной косой черты?проверить, содержит ли строка слэш

+0

Это необходимо только для строковых литералов в коде, а не для строк, созданных во время выполнения. – Columbo

+0

, что означает, что если я храню путь в QSting и использую его в другом месте, не возникает никаких проблем? !! – suhayb

+0

Я не знаю, не хватает ли у вашего языка заглавных букв и знаков препинания, но английский язык имеет заглавную букву в начале каждого предложения, а предложения заканчиваются на полных остановках. Они также склонны бежать навсегда. –

ответ

2

, когда мы используем путь на любом языке программирования, мы должны изменить «\» символ в «\»

Это не так.

Прежде всего, сбрасывание обратной косой черты происходит путем добавления другой обратной косой черты, а не путем замены одинарных кавычек двойными кавычками. Это бессмысленно.

Во-вторых, каждый язык программирования отличается тем, что многие широкие обобщения о том, что вам нужно делать в «любом языке программирования», абсурдны.

Кроме того, в C++, только при написании символов в строки буквального вам нужно избежать обратных косых черт, потому что в строковых литералах незаменяемых обратные косые позволяют вводить нечитаемые/UNWRITEABLE символов непосредственно в исходном код. Но как только результирующая строка находится в памяти, на самом деле не имеет значения, что она содержит обратную косую черту.

Вам ничего не нужно менять.

0

Если Lightness Races in Orbit ответил на ваш вопрос, вы должны принять ответ.

Я подозреваю, что вы на самом деле пытаетесь спросить об автономном пути к файловой системе, как указано: Thomas Matthews.

Если это так, вы должны воспользоваться QFileInfo

В качестве альтернативы вы можете использовать boost.filesystem.path является хорошей альтернативой, а также которые я понимаю, будет втянут в стандарте C++ 17.

Смежные вопросы