Форум: "Прочее";
Текущий архив: 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.47 MB
Время: 0.425 c