Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] как в адресстроке OpenDialog перевести "\" на "\\" (http://forum.oszone.net/showthread.php?t=189622)

SGKorotkow 28-10-2010 11:01 1529251

как в адресстроке OpenDialog перевести "\" на "\\"
 
всем добрый день!
ПОМОГИТЕ решить одну проблему!
перелопатил кучу форумов, но ничего не нашёл!
в программе из компоненты OpenDialog заполняются поля объектов Edit и ListBox. затем, пути прописанные в этих объектах, используются для открытия соответствующих файлов.
ПРОБЛЕМА в том, что OpenDialog передаёт пути с одним "\", например: "C:\Documents and Settings\programmer\Рабочий стол.....". и естественно открыть файл по такому пути в с++ builder нельзя!
КАК автоматически проставить двойной слеш "\\"???
пытался простым перебором строки добавить ещё один слеш к уже существующему, но поскольку единичный "\" в строке является служебным символом, то при переборе символов строки компилятор видит "C:Documents and Settings?programmer?.... и все функции по поиску вхождения "\" не работают!(

Подскажите как быть? работа стоит из за такой ерунды(

Drongo 28-10-2010 11:49 1529296

SGKorotkow, Покажите ваш код.

Попробуйте присвоить значение(путь) в переменную и работать дальше с переменной.

SGKorotkow 28-10-2010 12:04 1529313

Честно признаюсь не ожидал, но проблема разрешилась!
дествительно, присвоив значение переменной я получил пути с "\\"
Огромное спасибо Drongo!

El Scorpio 29-10-2010 09:44 1529968

Цитата:

Цитата SGKorotkow
ПРОБЛЕМА в том, что OpenDialog передаёт пути с одним "\", например: "C:\Documents and Settings\programmer\Рабочий стол.....". и естественно открыть файл по такому пути в с++ builder нельзя! »

"Двойной" символ "\\" - это специальная форма записи, позволяющая изобразить одинарный символ '\' в исходном коде программы и отладчике компилятора.
Например
Код:

const string *Path = "c:\\boot.ini";
В этом символьном массиве третий элемент будет в окне отладчика отображаться символом '\\', а в окне программы и при выводе на печать - одинарным слэшем.
Просто сам по себе "\" в коде программы используется для специальных символов, посему текстовый слэш в коде программы отображается двойным ("слэш слэша").
Примеры спецсимволов:
'\0' - символ с нулевым кодом (текстовый ноль отображается символом с кодом 48)
'\r' и '\n' - символы перевода строки
'\t' - символ табуляции

Так что не заморачивайся


Время: 17:14.

Время: 17:14.
© OSzone.net 2001-