[C++] Работа с файлами17.06.2010, 21:09. Показов 35597. Ответов 74
Метки нет (Все метки)
Задача: Есть файлы, которые надо обработать:
1.просканировать директории на наличие файлов расширения *.TXT 2.сохранять список путей к файлам в booklist.txt (для дальнейшей работы) 3.вывести booklist.txt на экран Добавлено через 41 минуту пытался найти похожие или хоть какие-то программы работы с файлами нашел вот эту работает с файлами через аргумент и выводит дважды содержание файла:
------------------------------------ Посоветуйте что можно сделать, я в С++ только начал
1
|
||||||
| 17.06.2010, 21:09 | |
|
Ответы с готовыми решениями:
74
работа с файлами Работа с файлами |
|
3606 / 2746 / 356
Регистрация: 11.03.2009
Сообщений: 6,318
|
||||||
| 18.06.2010, 12:26 | ||||||
|
Для добавления записей в файл используй режим "a". Для сброса содержимого на диск во время работы программы и используй функцию fflush
1
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 18.06.2010, 12:43 | |
|
Egeni, если ты про мой код, то при компиляции в DEV C++ 4.9.9.2 (очень рекомендую) выходит экзешник 19 кило. И всё.
Добавлено через 9 минут ...И да, всякий раз, дописываая нечто в файл, ты именно добавляешь, то есть "w" не канает (см. сообщение выше) Вообще поразбирайся с режимами открытия и прочее. Не забудь использовать fclose (). ...А вообще неправильно это всё. Объясняю. Не след нам вякий раз открывать файл на добавление имени директории. Это неграмотно, хотя и сработает. НАдо так: Создаёшь строку НУЖНОЙ длины, туда все имена директорий перегоняешь, потом ОДИН РАЗ открываешь файл на запись и туда перегоняешь эту строку с именами папок. ВСё. Хотя я тут подумал... А какой длины тебе нужна будет стррока? Заранее ведь неизвестно. Может, ты и прав, что всякий раз перегоняешь имя папки сразу в файл. В общем, лень не будет, поразмысли.
1
|
|
| 18.06.2010, 12:54 [ТС] | |||||||||||
|
а если файлов много, то мне кажется что данный алгоритм может загнуться при переполнении буфера или затормозиться очень сильно если не повиснуть вообще..
невыходит вывести путь к файлу программа находится в директории я пишу
sPath 2.txt sPath 3.txt sPath 4.txt как привести к виду: folder\2.txt folder\3.txt folder\4.txt если файлы находятся в папке? а то оно просто сканируемые файлы скидывает вот сама программа
0
|
|||||||||||
|
3606 / 2746 / 356
Регистрация: 11.03.2009
Сообщений: 6,318
|
||||||||
| 18.06.2010, 13:04 | ||||||||
Сообщение было отмечено как решение
Решение
1
|
||||||||
|
Заблокирован
|
|||||||
| 18.06.2010, 13:56 | |||||||
Чтобы искать файлы не на диске D а в других каталогах - надо формировать строку для system() - т.е. вместо \"D:\\*.txt\" заводить что-то другое, надеюсь понятно как эта строка формироваться должна?
1
|
|||||||
| 18.06.2010, 14:00 [ТС] | ||||||
|
kazak, не выходит присвоение cur_dir немогу "декларировать переменную"
rrrFer, сейчас посмотрим
0
|
||||||
|
Заблокирован
|
||||||
| 18.06.2010, 14:01 | ||||||
|
а почему если вставляю код не из блокнота, а из visual studio то вставляется что-то типа:
0
|
||||||
|
3606 / 2746 / 356
Регистрация: 11.03.2009
Сообщений: 6,318
|
||
| 18.06.2010, 14:18 | ||
|
fprintf( out, "%s\\%s\n", sPath, pFILEDATA.cFileName);
1
|
||
| 18.06.2010, 14:36 [ТС] | ||||||
|
kazak, спасибо
Добавлено через 12 минут Инструкция по адресу "0x7c901010" обратилась к памяти по адресу "0x00000034". Память не может быть "read" 7C901010 cmp dword ptr [edx+14h],0 Что делать?
0
|
||||||
|
3606 / 2746 / 356
Регистрация: 11.03.2009
Сообщений: 6,318
|
|
| 18.06.2010, 14:39 | |
|
1
|
|
|
Заблокирован
|
||
| 18.06.2010, 14:45 | ||
1
|
||
| 18.06.2010, 16:32 [ТС] | |||||||||||
|
Я не сталкивался до этого с отлаживаниями программ, видимо это время наступило...
Значит все происходит как... я запускаю программу: она ищет файлы ищет, ищет в консоли мелькает все... потом создается файл booklist.txt - 0 КБ и выскакивает ошибка
Нажимаю Отмена вызывается отладчик и тыкает меня в строку с адресом
0
|
|||||||||||
|
3606 / 2746 / 356
Регистрация: 11.03.2009
Сообщений: 6,318
|
|
| 18.06.2010, 19:41 | |
|
Egeni, а после записи файл кто закрывать будет?
1
|
|
| 19.06.2010, 00:45 [ТС] | |
|
Согласен... я не закрывал файлов а оно видимо их понаоткрывало кучу
Добавлено через 3 часа 5 минут А как удалить из файла по несколько строк начинающихся с символов /* и заканчивающихся первым */ то есть удалить коментарии?
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 19.06.2010, 07:48 | |
|
Ну этот вопрос можно рекомендовать в качестве задачки тык скыть.
И сразу же: если надумаешь решать, удаляй также комменатрии вида //
1
|
|
| 19.06.2010, 18:03 [ТС] | |
|
Для использования парсинга в С++ применяются библиотеки boost++ и Qt но они утяжеляют код, как можно обойтись проще без этих библиотек:? самостоятельно:?
Я видел создавались похожие темы про парсинг HTML тегов, но без результатно, ответов в них нет, неужели никто не задумывался?
0
|
|
|
3606 / 2746 / 356
Регистрация: 11.03.2009
Сообщений: 6,318
|
|
| 19.06.2010, 20:23 | |
|
1
|
|
| 21.06.2010, 01:34 [ТС] | ||||||||||||||||
|
http://www.pcre.org
зашел, скачал ftp://ftp.csx.cam.ac.uk/pub/so... ming/pcre/ и сразу возник такой вопрос зачем все так усложнять, я посидел и ужаснулся, что мне с этим всем делать и как это добро можно использовать? в этой библиотеке не нашел сам файл pcre.h который надо использовать. как установить или переписать библиотеку под себя?? Добавлено через 42 минуты /------------------------------------------------/ вот нашел упрощенную функцию замены символа на си
Cannot convert 'void *' to 'char *' Добавлено через 53 минуты -------------------------------------- вот еще задача функция замены всех вхождений подстроки в строке. функция имеет три аргумента: искомая строка, заменяемая стока и текст с котором необходимо выполнить данные действие
0
|
||||||||||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 21.06.2010, 09:57 | |
|
Я уже забыл о чём шла речь вообще, поэтому дам точечные советы.
По последней ошибке, скорее всего компилятор ищет функцию а-ля main и не может её найти Надо прописать где-нибудь в коде По невозможности ковертировать один тип в другой. Удивляться не приходится ведь malloc возвращает переменную типа void*, и это значение присваивается переменной типа char* Несоответсвие Ну, это часто я с таким сталкивался. Так единого рецепта решения проблемы не выработал. Эксперементируй с преобразованием типов. Можешь, ret объявить как void*, посмотри, что получится...
1
|
|
| 21.06.2010, 09:57 | |
|
Работа с файлами Работа с файлами
работа с файлами
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|