Guest |
Отправлено: 20.01.2006, 00:39 |
|
Не зарегистрирован
|
Имеется переменная типа CString s которая содержит строку s=”D:\Documents and Settings\User\Рабочий стол\viewtopic2.htm” мне нужно в этой строке определить позицию первого слеша с права я это делаю так s. ReverseFind('\\'); но почему-то функция не находит ни одного слеша , если слеш в другую сторону то все ок |
|
Grigoriy |
Отправлено: 20.01.2006, 02:15 |
|
Мастер участка
Группа: Участник
Сообщений: 381
|
Непойму, какой файл нужно подключать, чтобы использовать строки типа CString. Я через поиск файлов нашел, что такой класс описывается в файле "...CBuilder6\Include\Mfc\afx.h", но при компиляции возникает ошибка на строке
#include // Target version control
в файле afx.h.
У меня 6 версия СBuiler-а.
|
|
Konstantine |
Отправлено: 20.01.2006, 11:29 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
когда вводите строки в тексте программ вместо "\" пишите "\\" , и следовательно вместо "\\" — "\\\\"
это базовый С — символ \ обозначает управляющую последовательность, например — \n — конец строки, поэтому для возможности ввести симво \\ нужно писАть управляющую последовательнось \\
|
|
Guest |
Отправлено: 20.01.2006, 15:09 |
|
Не зарегистрирован
|
Не знаю(ReverseFind('\\')), что это за функция, но на верное надо писать ReverseFind('\')
Я бы использовал
char * AnsiStrRScan(char * Str, char Chr), где Chr = '\'
возвращает указатель на последнее вхождение символа Chr в Str или NULL,
находится в SysUtils.hpp |
|
Guest |
Отправлено: 20.01.2006, 15:32 |
|
Не зарегистрирован
|
QUOTE |
когда вводите строки в тексте программ вместо "\" пишите "\" , и следовательно вместо "\" — "\\"
|
Дело в том что ни я формирую строку s=”D:\Documents and Settings\User\Рабочий стол\viewtopic2.htm” а получаю ее из IE
QUOTE |
на верное надо писать ReverseFind('\')
|
Что касается s.ReverseFind('\') то компилятор выдает ошибку
|
|
Rius |
Отправлено: 24.01.2006, 09:02 |
|
Мастер участка
Группа: Участник
Сообщений: 321
|
QUOTE (Guest @ 20/01/2006, 18:32) | QUOTE |
на верное надо писать ReverseFind('\')
|
Что касается s.ReverseFind('\') то компилятор выдает ошибку |
ReverseFind('\\') или ReverseFind("\\")
для получения каталога/имени файла/расширения из строки типа "D:\Documents and Settings\User\Рабочий стол\viewtopic2.htm" есть специальные функции.
|
|
Gal |
Отправлено: 24.01.2006, 10:44 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 124
|
В принципе не понятно зачем может понадобится последнее вхождение "\".
если это связано с именем файла, то есть хорошие функции:
ExtractFileDir, ExtractFileDrive,ExtractFileName, ExtractFileExt,ExtractFilePath.
см. Help
|
|