![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
En_t_end |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 2 Всего: 20 |
Как вариант создает цепочку всех промежуточных директорий. Не устраивает собственно тупость своего кода, ибо требовать в данном случае non-const для пути к последней директории - есть зло. Конечно, можно и в случае non-const сделать используя strtok, но это меня не устраивает уже по двум причинам, вторая:
Да если честно мой способ тоже грешен подчти этим же но косвенно. Если указатель будет указывать на данные, паралельно обратывающиеся ещё где-то, то придется создавать копию данных. А этого я как раз хотел избежать, ибо понятно, что можно тем же кодом пользоваться просто создавая у себя копию данных. Добавлено @ 18:02 Короче опять задача из разряда "и рыбку съесть и на елку сесть" :( Это сообщение отредактировал(а) En_t_end - 3.7.2007, 20:15 |
||||
|
|||||
Koshibot |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 7.6.2007 Репутация: нет Всего: нет |
ваааагх чел используй strtok
|
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 2 Всего: 162 |
мдя, смотри название и подпись к теме хм, задача абсолютно логичная... мой вариант: используй последовательный поиск слэшей (что ты и делаешь) + strcat'ом накапливай новую строку, содежащую текущую несозданную директорию. Не самый лучший вариант, надо бы еще подумать. |
|||
|
||||
En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 2 Всего: 20 |
||||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 2 Всего: 162 |
та да, но фукнции а-ля mkdir требуют же null-terminated параметр, я так понимаю? или изменять переданную строку (что, имхо, хуже), либо создавать что-то новое. Кстати, а неужели здесь производительность настолько критична? неужели на целевой системе создаются громады вложенных директорий? имхо, пусть будет чуть медленный, зато c большей претензией на thread-safe, да и параметры константные останутся. |
|||
|
||||
En_t_end |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 2 Всего: 20 |
да нужна null-terminated строка. я не знаю ![]()
придется так и сделать :(. |
||||
|
|||||
likehood |
|
|||
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: 12 Всего: 24 |
Проще всего создать копию исходной строки. Тогда алгоритм даже менять не придется.
|
|||
|
||||
En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 2 Всего: 20 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |