|
ЧакЭ одобряЭ
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
|
|
Переименование файлов03.04.2011, 16:14. Показов 7370. Ответов 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-хешем, указанном в списке файлов
Переименование файлов Переименование файлов. Переименование файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов
• Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp
• Смежный проект:. . .
|
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат
Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
|
[golang] Insert Delete GetRandom O(1) (Leetcode: 380)
alhaos 16.06.2026
Insert Delete GetRandom O(1)
Сложность: Medium
Источник: LeetCode 380
Задача
Реализовать структуру данных RandomizedSet, которая поддерживает следующие операции за O(1) в среднем:
|
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли.
Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
|
|
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
Min Stack
Сложность: Medium
Источник: LeetCode 155
Задача:
Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1).
Методы:
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|