|
ЧакЭ одобряЭ
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
|
|
Переименование файлов03.04.2011, 16:14. Показов 7538. Ответов 31
Метки нет (Все метки)
трудно сказать к какому разделу относится тема...
вообщем надо чтобы программа на си переименовывала все файлы в нескольких каталогах.(каталоги вводит пользователь) как это сделать?
0
|
|
| 03.04.2011, 16:14 | |
|
Ответы с готовыми решениями:
31
Переименование PDF-файлов в имена, берущиеся из содержимого этих файлов
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 06.04.2011, 13:12 | |
|
1 strlen() возвращает длину строки без '\0', а strcpy() копирует включая '\0', соответсвенно у вас там выход за границу s.
2 Ваш flag бессмыслица т.к. на момент проверки всегда равен true 3 да
2
|
|
|
ЧакЭ одобряЭ
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
|
|||||||
| 06.04.2011, 14:30 [ТС] | |||||||
|
тогда получается переименовывать надо всегда независимо от того если в имени А или нет?или же проверить имя и если есть то тогда уже копировать и преобразовывать?
Добавлено через 11 минут
0
|
|||||||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|||
| 06.04.2011, 15:08 | |||
|
А что будет если s[strlen(s) - 1] != '/' ?
0
|
|||
|
ЧакЭ одобряЭ
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
|
|||
| 06.04.2011, 21:38 [ТС] | |||
|
Добавлено через 2 часа 28 минут
0
|
|||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 06.04.2011, 21:47 | |
|
Писать что-то за вас я не собираюсь. Попробуйте обратиться в раздел фриланса чтоб написали это за вас или хотя бы объяснили за не дорого, что будет если склеить строки "/bin" и "bash".
0
|
|
|
ЧакЭ одобряЭ
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
|
||
| 06.04.2011, 21:48 [ТС] | ||
|
например каталог /home/chuck/papka/ сосчитал файл taxt.txt записал его имя в s taxt.txt после обработки t0xt.txt я конкатенирую с /home/chuck/papka/t0xt.txt и в считанный text.txt записываю /home/chuck/papka/t0xt.txt
0
|
||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 06.04.2011, 22:12 | |
|
Да, это все так, до тех пор пока путь задаваемый в opendir() заканчивается на '/', tcли вы так и планируете оставить /home/.../ закодированным в исходный код все будет работать, но если вы вдруг так неожиданно решите, что не плохо бы научить программу проделавать всю работу для любого произвольного каталога задаваемого в командной строке, то возможны проблемы.
Про то, что у вас получается file/home/.../ после strcat() я уж молчу...
0
|
|
|
ЧакЭ одобряЭ
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
|
||
| 06.04.2011, 22:26 [ТС] | ||
|
char * strcat(char * restrict dst, const char * restrict src);
0
|
||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 06.04.2011, 22:34 | ||
|
Да именно так и есть.
итог: имя+х и переполнение s
0
|
||
|
ЧакЭ одобряЭ
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
|
|||||||||||||||||
| 07.04.2011, 04:08 [ТС] | |||||||||||||||||
|
Добавлено через 14 минут
а так ввожу ./program 2 /home/chuck/filegrub и она выходит после первого if Добавлено через 16 минут а.неважно. Добавлено через 1 час 17 минут кароч разобрался Добавлено через 57 минут да.действительно не переименовывает файлы вне каталога. в чем одна проблема проявилась.когда я ввожу ./program . прога вылетает с ошибкой
все работает теперь без ошибок.ошибка была из-за путей к файлу.
0
|
|||||||||||||||||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 07.04.2011, 12:28 | |
|
Пути не причем, вы с каким то тупым упорством наступаете на одни и те же грабли, Запишите себе куда-нибудь: для копирования строк памяти надо выделять на 1 байт больше чем размер строки возвращаемый strlen()
2
|
|
|
ЧакЭ одобряЭ
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
|
||||||
| 07.04.2011, 19:24 [ТС] | ||||||
|
в проге где надо было переименовывать через потоки прога работает нормально(пусть и ведет себя забавно с файлами вне её каталога). но там где последовательно переименовывается почему-то вторая часть проги не выволняется
Добавлено через 6 часов 5 минут Сделал по другому.тему можно закрывать
0
|
||||||
| 07.04.2011, 19:24 | |
|
Рекурсивное переименование файлов, md5-хеш которых совпадает с md5-хешем, указанном в списке файлов
Переименование файлов Переименование файлов. Переименование файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|