![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 28.09.2015
Сообщений: 11
|
![]()
Добрый вечер.
Хочу выяснить несколько вопросов. Сначала опишу, что хочу сделать. В командной строке ввожу через запятую имена текстовых файлов. Создаю массив_1, в который записываю имена текстовых файлов (т.к. хочу их проанализировать) через запятую. Далее создаю массив_2, куда хочу записать всю информацию из файлов. В связи с чем несколько вопросов: 1. Заранее число файлов и количество слов в каждом из них мне не известно. Т.е. мне надо создать динамический массив. В найденных примерах динамический массив инициализируется так: Код:
2. Следующий вопрос: у меня есть массив_1 с именами файлов, которые перечислены через запятую. Допустим, я смогу читать этот массив до запятой, как мне это прочитанное передать в функцию открытия файла в качестве его имени? 3. Считывая текстовые файлы в массив поочередно, буду ли я иметь в массиве несколько знаков ‘\0’, которые будут как бы разделителями текстов из разных файлов? Спасибо если прочитаете и поясните! : ) |
![]() |
![]() |
![]() |
#2 | |||
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
![]() Цитата:
Код:
Цитата:
Цитата:
Последний раз редактировалось Stilet; 29.09.2015 в 09:03. |
|||
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 28.09.2015
Сообщений: 11
|
![]()
Большое спасибо за код.
Скажите, пожалуйста, приведенное решение - самое простое для подобной задачи? Отсутствие опыта и глубокого понимания Си мне пока не позволяют осознать приведенное Вами решение настолько, чтобы самостоятельно его применять ![]() |
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 16.09.2015
Сообщений: 10
|
![]() Цитата:
Код:
Чтобы открыть эти файлы вам нужна функция fopen (почитайте про нее). Например чтобы работать с файлом in.txt в эту функцую вам надо просто передать argv[1]. Это смотря какую информацию вы хотите из этих файлов извлекать, часто можно обойтись и без массивов. Но уж если вам так хочется создать массив ровно под количество символов в файле, то можно пройтись по всем файлу, посчитать кол-во элементов, а потом переместить указатель обратно на начало файла.(для этого можно просто закрыть и снова открыть файл, хотя так делать не очень хорошо). |
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 28.09.2015
Сообщений: 11
|
![]() Цитата:
Последний раз редактировалось TotEnot; 29.09.2015 в 23:51. |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 16.09.2015
Сообщений: 10
|
![]()
Например так:
Код:
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Или просто сделать fseek + ftell
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с текстом | Yrec | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 01.02.2012 11:30 |
Работа с текстом | nikolj | HTML и CSS | 16 | 10.06.2011 14:33 |
[Проблемка] Не могу понять некоторые моменты в borland c++ | alex4718 | Общие вопросы C/C++ | 2 | 20.03.2010 10:56 |
Работа с текстом | Sanek_ntsk | Общие вопросы C/C++ | 10 | 12.01.2008 19:42 |
Администрирование\управление компьютером\Общие папки\Общие ресурсы\прекратить общий доступ | lm_strj | Безопасность, Шифрование | 2 | 13.10.2007 21:28 |