![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
почему выводит . и .. вроде if(ent->d_name=="."||ent->d_name=="..")continue; должна их игнорироваь или нет? --------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Способ 1-ый. Быстрый.
if(ent->d_name[0]=='.')continue; Способ второй. Правильный. if(ent->d_name[0]=='.' && (ent->d_name[1]==0 || (ent->d_name[1]=='.' && ent->d_name[2]==0)))continue;
Нет, тут идёт сравнение двух указателей(указатель на статичекскую переменную "." и указатель на строку ent->d_name), а не сравнение строк. Для сравнения строк необходимо использовать одну из функций strcmp Это сообщение отредактировал(а) Mayk - 14.7.2005, 15:54 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
огромное спасибо!
но тут возникла еще одна проблема(вернее она раньше тоже была if(!(attrib & FA_DIREC))continue; проблема в том же или нет? Добавлено @ 16:08
программа должна выводить дерево каталогов но так не происходит. скажите что здесь не так. Это сообщение отредактировал(а) mclight - 14.7.2005, 22:30 --------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
1ый printf(который после if(!(attrib & FA_DIREC))continue)стоит закомментировать, тогда вывод станет корректнее. Или проблема в другом?
-------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
да нет это просто опечатка естественно 1printf а нету вообще
вот в РНР есть is_dir($d), а ине нужен ее аналог в С++. --------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
А почему не используешь функции _dos_findfirst, _dos_findnext?
Вот мой вариант:
Проверял в Borlande 3.1. Вроде работает... --------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
| LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
Забыл про очистку памяти. Лучше так:
--------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
а у меня нет Добавлено @ 10:46 bcc32 --------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| Nastya |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 27.3.2002 Где: Мариуполь Репутация: 5 Всего: 44 |
strcmp
-------------------- Что бы понять рекурсию, надо понять рекурсию "Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |