Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Работа со строкой

Доброго времени суток, все!

Строку типа C:\Program Files\FlashGet\ надо преобразовать к виду:
C:\Program Files\, а ее к C:\ . Т.е. как бы сделать переход на предыдущую
директорию. Посоветуйте, пожалуйста, как это можно сделать.

Ответить   Денис Thu, 18 Nov 2004 14:57:30 +0300 (#266812)

 

Ответы:

Здравствуйте, Денис.

Вы писали 18 ноября 2004 г., 17:57:30:

Если в Delphi то проще всего так
var S:String;
begin
s:='C:\Program Files\FlashGet\';
s:=ExtraktFilePath(S); // в S содержится C:\Program Files\
end;

Ответить   Thu, 18 Nov 2004 20:02:48 +0600 (#266917)

 

i686-suse-linux)

On Thu, 18 Nov 2004 20:02:48 +0600
janalex <janal***@n*****.ru> wrote:

Нужно ещё удалить последний символ.

Номер выпуска : 3794
Возраст листа : 423 (дней)
Количество подписчиков : 502
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/267016
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   "B." Thu, 18 Nov 2004 19:30:29 +0300 (#267016)

 

Здравствуйте !


Ну... Есть группа API функций именуемых в MSDN "Path Functions".
Конкретно см. PathFindNextComponent.
Но тут надо учесть, что:

Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet
Explorer 4.0 or later).
Windows 95/98/Me: Requires Windows 98 (or Windows 95 with Internet
Explorer 4.0 or later).

--
С уважением, Вахтуров Виктор.

Номер выпуска : 3795
Возраст листа : 423 (дней)
Количество подписчиков : 502
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/267058
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Thu, 18 Nov 2004 21:41:33 +0300 (#267058)

 

Hello Денис,

Thursday, November 18, 2004, 1:57:30 PM, you wrote:

Наверно просто идти по строке справа налево, пока не встретим '\'. Или
я не понял проблему?
В cpp это будет выглядеть примерно так:

/********************/

char s[25] = "C:\Program Files\FlashGet\";
int len = strlen(s);
if (s[len] == '\') {
s[len] = '\0'; // Случай, если последний символ - '\'
len--;
}
while (len >= 0) {
if (s[len] == '\') {
s[len+1] = '\0';
break;
}
len--;
}

/********************/

Ответить   Thu, 18 Nov 2004 18:10:09 +0200 (#267069)