|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.09.2015, 00:36 | #1 |
Пользователь
Регистрация: 28.09.2015
Сообщений: 11
|
Си. Работа с текстом. Общие моменты.
Добрый вечер.
Хочу выяснить несколько вопросов. Сначала опишу, что хочу сделать. В командной строке ввожу через запятую имена текстовых файлов. Создаю массив_1, в который записываю имена текстовых файлов (т.к. хочу их проанализировать) через запятую. Далее создаю массив_2, куда хочу записать всю информацию из файлов. В связи с чем несколько вопросов: 1. Заранее число файлов и количество слов в каждом из них мне не известно. Т.е. мне надо создать динамический массив. В найденных примерах динамический массив инициализируется так: Код:
2. Следующий вопрос: у меня есть массив_1 с именами файлов, которые перечислены через запятую. Допустим, я смогу читать этот массив до запятой, как мне это прочитанное передать в функцию открытия файла в качестве его имени? 3. Считывая текстовые файлы в массив поочередно, буду ли я иметь в массиве несколько знаков ‘\0’, которые будут как бы разделителями текстов из разных файлов? Спасибо если прочитаете и поясните! : ) |
29.09.2015, 08:54 | #2 | |||
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Цитата:
Код:
Цитата:
Цитата:
Последний раз редактировалось Stilet; 29.09.2015 в 09:03. |
|||
29.09.2015, 20:59 | #3 |
Пользователь
Регистрация: 28.09.2015
Сообщений: 11
|
Большое спасибо за код.
Скажите, пожалуйста, приведенное решение - самое простое для подобной задачи? Отсутствие опыта и глубокого понимания Си мне пока не позволяют осознать приведенное Вами решение настолько, чтобы самостоятельно его применять |
29.09.2015, 22:53 | #4 | |
Пользователь
Регистрация: 16.09.2015
Сообщений: 10
|
Цитата:
Код:
Чтобы открыть эти файлы вам нужна функция fopen (почитайте про нее). Например чтобы работать с файлом in.txt в эту функцую вам надо просто передать argv[1]. Это смотря какую информацию вы хотите из этих файлов извлекать, часто можно обойтись и без массивов. Но уж если вам так хочется создать массив ровно под количество символов в файле, то можно пройтись по всем файлу, посчитать кол-во элементов, а потом переместить указатель обратно на начало файла.(для этого можно просто закрыть и снова открыть файл, хотя так делать не очень хорошо). |
|
29.09.2015, 23:49 | #5 | |
Пользователь
Регистрация: 28.09.2015
Сообщений: 11
|
Цитата:
Последний раз редактировалось TotEnot; 29.09.2015 в 23:51. |
|
30.09.2015, 00:38 | #6 |
Пользователь
Регистрация: 16.09.2015
Сообщений: 10
|
Например так:
Код:
|
30.09.2015, 05:44 | #7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Или просто сделать 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 |