Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по бэкслэшам в СИ++   Найти похожие ветки 

 
Fus1on   (2007-02-28 08:31) [0]

мне нужно функции передать путь.
получаю путь так:

path = ExtractFilePath (Application.ExeName) + filename;

path становится равен: "d:\dev\test.txt"

но, "\d", "\t" он пытается прочитать как параметр, соответственно функция получает: "d:evest.txt"

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

подскажите пож.


 
TUser ©   (2007-02-28 10:03) [1]

Обычно решается даблслешем, если это билдер, то там должен быть StringReplace.


 
DrPass ©   (2007-02-28 11:03) [2]


> я думаю исправить эту проблему путем добавления дабл слешей
> в стрингу, но мало ли существует какой-то ньюанс по этому
> поводу, что бы не мучаться..

Правильно думаешь. Добавляй. Так или иначе, мучиться ты будешь недолго


 
iZEN ©   (2007-02-28 20:28) [3]

"d:\\dev\\test.txt"


 
Celades ©   (2007-02-28 22:13) [4]


> я думаю исправить эту проблему путем добавления дабл слешей
> в стрингу

это не слеш, это бекслеш. А вот если их заменить действительно на слеш, то получится "d:/dev/test.txt" - и это уже вполне нормально интерпретируется и Windows и *nix


 
homm ©   (2007-02-28 23:05) [5]

> то получится "d:/dev/test.txt" - и это уже вполне нормально
> интерпретируется и Windows и *nix
Шутник однако? :)


 
palva ©   (2007-02-28 23:15) [6]

>> и это уже вполне нормально интерпретируется
> Шутник однако? :)

Нормально интерпретируется многими функциями ввода-вывода, например, fopen. Если автор сознается, к какой функции он обращается, то можно будет сказать точнее.


 
palva ©   (2007-02-28 23:24) [7]

Почитал вопрос внимательнее. Очень странно, что строка при передаче в функцию интерпретируется неправильно. В строке стоят одиночные бэкслэши. Так и должно быть. При записи в программе эта строка и в самом деле должна записываться с двойными бэкслэшами, но в строке все равно окажутся одиночные бэкслэши. Так что в строку в оперативной памяти добавлять ничего не нужно. Другое дело, что сама функция может требовать двойные бэкслэши. Но тогда надо спросить, какая у автора функция.


 
Ketmar ©   (2007-02-28 23:25) [8]

> palva ©   (28.02.07 23:15) [6]
как минимум в 2k+ слэши отлично понимает CreateFileA(). поэтому пофигу, к чему обращаться.


 
palva ©   (2007-02-28 23:34) [9]

Скорее всего автор что-то напутал. Так что он вряд ли здесь появится с объяснениями и извинениями.


 
Ketmar ©   (2007-02-28 23:50) [10]

автор попутал профессию. или увлечение. на улице зима, между прочим, снег не метёт никто.


 
homm ©   (2007-03-01 07:07) [11]

> Нормально интерпретируется многими функциями ввода-вывода,
> например, fopen.
И как же в *nix системах интерпретируется диск d: ??? :)


 
Celades ©   (2007-03-01 10:03) [12]


> И как же в *nix системах интерпретируется диск d: ??? :)

дело не в диске, а в слеше.


 
Ketmar ©   (2007-03-01 11:15) [13]

> homm ©   (01.03.07 07:07) [11]
ну и кто тебе мешает создать каталог с именем "d:"?



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.035 c
15-1172483591
SerJaNT
2007-02-26 12:53
2007.03.25
Помогите найти книгу


4-1162893030
progmax
2006-11-07 12:50
2007.03.25
результат выполнения ком. строки в переменную


2-1172756210
vegarulez
2007-03-01 16:36
2007.03.25
Подскажите как правильно раскидать результат запроса.


15-1172401016
Slimer
2007-02-25 13:56
2007.03.25
Проблема с клавой


15-1172251427
palva
2007-02-23 20:23
2007.03.25
Чего нельзя делать в Интернете?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский