![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Мне нужно просканировать директорию и напечатать имена файлов каталога, которые имеют порядковые номера с 25 по 49, как просканировать директорию понятно а как сделать чтобы выбирался только с 25 по 49?
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
iPlay,
счетчик при сканировании
Это сообщение отредактировал(а) MAKCim - 8.3.2008, 12:52 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
iPlay |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Я так понял что чтобы мне вывести имена файлов нужно так сделать?
И вопрос второй как мне передать через консоль имя директории? Помоему так неправильно будет ведь там типы не сходятся, мне надо передать через консоль в формате <имя программы> -l <имя директории>
|
||||
|
|||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
iPlay,
я исправил предыдущий свой пост там была небольшая ошибка
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Вот скомпилировал этот код без printf("%s\n", entry[count]->d_name); прога работает она получается 24 раза выводит TEST.
А почему не получается скомпилировать с printf("%s\n", entry[count]->d_name); я хочу что-бы имена файлов выводило????
![]() |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 3 Всего: 33 |
Потому-что вот так должно быть:
Это сообщение отредактировал(а) andrew_121 - 8.3.2008, 17:12 -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Результат довольно странный получился, либо я не дочитал. У меня получается такое я вывел файлы по команде dir /bin а когда запустил свою программу она вывела 24 файла как и требовалось но не попрядку как в команде dir /bin а както вразброс и не с 25го по счету.
Получается файлы которые вывелись по команде dir /bin хоть и стоят попорядку но имеют не последовательный порядковый номер???? Это сообщение отредактировал(а) iPlay - 9.3.2008, 11:26 |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 3 Всего: 33 |
DIR - выводит файлы сортированные по имени, а этот пример по их расположению в файловой системе.
Т.е. ты хочешь сказать что нужна еще и сортировка ??? Хм... -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Нет всё нормально.
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
iPlay,
точнее надо было формулировать вопрос если нужна сортировка, то вот
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Я просто не подумал что DIR соритрует по именам.
Добавлено через 7 минут и 47 секунд Я вот в чем запутался
Работать должна вот так <имя программы> <имя файла> - чтение прав. <имя программы> <имя файла> <права> - установка прав. <имя программы> -l <директория> - работа с директорией. Поотдельности всё реализовал а вот вместе чето не могу собрать. Постоянно срабатывает printf("Set permission work") ![]() |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 3 Всего: 33 |
Держи, век не расчитаешься...
Могут быть какие-то банальные ошибки, это все что тебе остаеться сделать... Это сообщение отредактировал(а) andrew_121 - 9.3.2008, 14:02 -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Я в прошлом посте имел ввиду почему у меня не получается правильно считать параметры с консоли.
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
iPlay, потому что си-строки никто оператором == не сравнивает. Для этого есть strcmp()
Это сообщение отредактировал(а) bsa - 9.3.2008, 15:56 |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 3 Всего: 33 |
Все, Гиблое дело, я умываю руки...
Это сообщение отредактировал(а) andrew_121 - 9.3.2008, 17:20 -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Да точно всё сделал.
|
|||
|
||||
DRUID3 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 20.6.2005 Где: Kyyiv Репутация: 1 Всего: 9 |
Эээ... Я понимаю, что тема давно ушла в небытие, но вдруг кто-то бродя просторами интернета в поисках ответов на похожие вопросы(вот как я сейчас ![]() Думаю надо уточнить. Для вывода отсортированного списка файлов в директории есть удобная функция scandir()... -------------------- Every time if you use Linux, you are joined to the communism... практика - критерий истины ... отделенной от нас пропастью субъективного восприятия... |
|||
|
||||
Andrew121 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 21.6.2009 Репутация: нет Всего: 1 |
DRUID3, Ну это понятно. Но, учитывая тот факт, что изначально в вопрос не была внесена ясность, и, то что челу было просто необходимо пошевелить серым веществом, получилось вот так
![]() Поправь. Выложи. |
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
а как определить папку или файл я нашёл?
в d_type - пустота. |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
redwhite90, "пустота" это 0?
|
|||
|
||||
newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: нет Всего: 19 |
redwhite90, маны?! Маны для кого пишут?!!
![]()
Посмотри man 2 stat, там написано как определить тип файла. -------------------- You're face to face With man who sold the world |
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
я под линуксом 1 раз программирую.
вот нашёл такой линк только http://www.bigbiz.com/cgi-bin/manpage?2+stat ни разу не работал с этим. не поможете? Добавлено через 1 минуту и 4 секунды bsa, я делаю вывод на эеран этого типа - а там ничего не выводится абсолютно! |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
||||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
я перевёл, но так и не нашёл где там тип найденного объекта.
как я понял вся информация в структуре buf. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
m - stat.st_mode Добавлено через 1 минуту и 51 секунду example: http://linux.die.net/man/2/stat |
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
на странице приведен такой пример:
у меня наверное глупые вопросы возникли. Как я понял информационная структура тут stat. надо написать stat(полный путь к файлу/папке,ссылка на экземпляр структуры)и то, что это действитетьно папка проверяется if( (sb.st_mode & S_IFMT) ==S_IFDIR )??? извините, что так подробно спрашиваю. Просто нет линукса сейчас под рукой - будет только непосредственно перед тем, как показать надо будет работу. поэтому хочу быть уверен, что всё заработает. |
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
извините за навящивость. есть ещё 1 вопрос.
можно проверить соотвествует ли название файла заданной маске? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
да. можно.
еще вопросы? ![]() |
|||
|
||||
redwhite90 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
bsa, будут.
1.как это сделать? 2.В моей программе я сделал следующее: Захожу в папку - делаю цикл по объектам этой папки добавляю папку в список
шарюсь по внутренней папке рекурсивно, вызывая описываемую функцию но у меня возникает fragmentation failed Это происходит из-за того что программа пытается зайти в файл.Такое происходит с файлами без расширений как я понял. вопрос: из-за чего это происходит, ведь стоит условие
как это исправить? |
||||
|
|||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
||||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
но вот этот гном скринсевер диалог не папка совсем
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
redwhite90, создай отдельную тему. опиши задачу.
а то в чужой теме разводить подобный базар совсем не хорошо. удивительно что модераторы еще не забанили тебя. |
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
простите, я сейчас создам.
|
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |