|
1 / 1 / 1
Регистрация: 19.07.2009
Сообщений: 54
|
|
Подать несколько файлов на вход программе03.11.2012, 13:13. Показов 3171. Ответов 13
Метки нет (Все метки)
Работаю в Студии, в Винде.
В случае, когда мы считываем из одного (текстового) файла информацию (текст типа string (построчно) или char (посимвольно)), и далее обрабатываем её в нашей программе всё понятно. НО, что если обработать подобным образом нужно более одного файла, лежащих в одной директории (если кто напишет ещё что-нибудь про случай с разными директориями буду рад вдвойне) .... ВОПРОС: Как подать программе на вход в цикле каждый файл для последующей обработки каждого файла соответственно? Обрабатываются txt файлы, причём имеются 3 директории: В первой файлы, названия которых идут от 001.txt до 100.txt Во второй файлы, названия которых идут от aa.txt, ab.txt, ac.txt и т.д. до zx.txt, zy.txt, zz.txt В третей файлы, в названиях которых содержатся 5 символов (случайно взятые латинские буквы и цифры в привольном порядке) произвольная_комбинация.txt В каждой директории содержится минимум 100 файлов.
0
|
|
| 03.11.2012, 13:13 | |
|
Ответы с готовыми решениями:
13
Что нужно подать на вход АЦП?
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||
| 03.11.2012, 14:43 | |||||||
|
1) Нашёл бы имена всех НУЖНЫХ файлов в этой директории. Поместил бы их в вектор строк, например vector <string> imena; 2) Потом бы циклом пробегался по этому вектору и проводил с файлом необходимые действия: for (int i= 0; i< imena.size(); i++) { //Тут необходимые дейтсвия } ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++ Второй способ заключается в том, чтобы не складировать имена файлов в вектор, а по нахождении очередного имени произвести с ним необходимые действия
0
|
|||||||
|
1 / 1 / 1
Регистрация: 19.07.2009
Сообщений: 54
|
||
| 03.11.2012, 18:54 [ТС] | ||
|
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 03.11.2012, 19:04 | ||||||
|
Угу, ну вот тебе, второй раз за день подобная просьба:
Извлечение имени файла Так, имена файлов найдешь, в вектор строк складывать их надо так:
А потом ты уж разберись как-нибудь с открытием файла по имени (каждый элемент v суть имя очередного файла). А как его обрабатывать, ты, как я понял, представляешь себе.
0
|
||||||
|
1 / 1 / 1
Регистрация: 19.07.2009
Сообщений: 54
|
||||||||||||
| 03.11.2012, 19:29 [ТС] | ||||||||||||
|
Ругается на строчку
#include-ы все приписал. Папку указал не пустую. Формат нужный указал. Два слэша не забыл. Не пойму что не так.
0
|
||||||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||
| 03.11.2012, 19:38 | |||||||
|
Не по теме: Странно всё это... По силам ли задачу берёшь, человече? ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++
0
|
|||||||
|
1 / 1 / 1
Регистрация: 19.07.2009
Сообщений: 54
|
||
| 03.11.2012, 19:48 [ТС] | ||
|
Пробую по разному запустить, пока выдаётся следующая ошибка: error C2664: 'FindFirstFileA' : cannot convert parameter 2 from 'WIN32_FIND_DATA *' to 'LPWIN32_FIND_DATAA' Насчёт задачи. Сам не ожидал, что так мало знаю про работу с файлами. Может за одно посоветуете что почитать стоит ?
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 03.11.2012, 20:50 | ||||||
|
Можешь так попробовать:
0
|
||||||
|
1 / 1 / 1
Регистрация: 19.07.2009
Сообщений: 54
|
|
| 03.11.2012, 21:12 [ТС] | |
|
error C2664: 'FindFirstFileA' : cannot convert parameter 2 from 'LPWIN32_FIND_DATA' to 'LPWIN32_FIND_DATAA'
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 03.11.2012, 22:04 | ||||||
|
А, прошу прощения так надо:
1
|
||||||
|
1 / 1 / 1
Регистрация: 19.07.2009
Сообщений: 54
|
||||||
| 04.11.2012, 14:03 [ТС] | ||||||
|
Спасибо огромное. Всё получилось.
Итак окончательное решение для моего случая:
0
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 04.11.2012, 15:46 | |
|
ОК, теперь на счёт того, что почитать.
Собсно, применительно к этому случаю тут мало что можно посоветовать. Дело в том, что мы споткнулись о СВОЕВОЛИЕ IDE, которые кроят под себя прототипы API-функций (да и не только), как им заблагорассудится. И исправить это положение вещей мы не можем. Это только с опытом приходит, как обойти то или иное препятствие. По-хорошему всё должно быть ОЧЕНЬ просто и получаться безо всякого опыта. Решил, допустим, использовать FindFirstFile, заглянул в справочник, http://msdn.microsoft.com/ru-r... 85%29.aspx (на худой конец) http://vsokovikov.narod.ru/New... stfile.htm прочёл и используешь в соответствии с правилами. Ан нет. Каждая API норовит под себя кроить прототипы функций. Поэтому я ищу их в хидерах (для начала пойдёт консольная команда FIND) и в соответствии с найденными прототипами вызываю функции ++++++++++++++++++++++++++++++++++++++++ +++++++++++++ Кроме того, надо знать, что некоторые функции существуют в двух вариантах, A и W. W это принимает юникодовские параметры, A- неюникодовские. (Это я смутно понимаю, ибо с юникодом не работаю). Я так понял, компилятор вместо FindFirstFile подставляет FindFirstFileA или FindFirstFileW и требует от нас соответствующих параметров Почему именно компилятор подставил FindFirstFileW, а не FindFirstFileA, я не знаю. Может, где-то в настройках порыться надо. Как бы то ни было пришлось явно указывать букву A. Я работаю с g++, там попроще будет.
0
|
|
|
577 / 256 / 18
Регистрация: 29.11.2010
Сообщений: 868
|
|||
| 04.11.2012, 16:02 | |||
|
Добавлено через 3 минуты
0
|
|||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 04.11.2012, 18:27 | ||
|
Итак, ищу прототип функции, чтобы её правильно вызвать. В g++ как вы думаете, где я его найду? Правильно, в файле winbase.h А в MSVS? В файле atltransactionmanager.h Здесь, кстати, о нём упоминания нет Вот и всё, собсно. Гляжу я на "atltransactionmanager.h" и сомневаюсь- всё ли я правильно делаю? И да, опережая ответ. Как сделать, я знаю. Я сомневаюсь, что, в MSVS это сделать проще... Извините.
0
|
||
| 04.11.2012, 18:27 | |
|
Помогаю со студенческими работами здесь
14
Помогите ! Как подать логический 0 и 1 на вход схемы ?! Можно ли с выхода компа подать на вход ноута Embedded Matlab Editor: подать выход на вход Подать напряжение на любой из интерфейсов (USB/вход наушников/микрофона и т.д.) Парсер Simple html dom на вход подать список с ссылками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|