![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Zerg |
|
|||
|
Unregistered |
Уважаемые господа!
Сразу оговорюсь, что я связист, а программу заставила писать жутчайшая необходимость. Написание происходит по принципу слепого котенка, ищущего молоко. Так что отнеситесь снисходительно и помогите плз. Суть: Существует файл, в который постоянно записывается информация с АТС. Я написал уже программу, которая читает его каждые 5 сек. и записывает в другой файл, но требуется делать выборку по определенным критериям, сохраняя только соответствующее и выводя на печать. Читаю его так: .. buff = (char *) malloc(dwbufferSize+1) ReadFile(hFile, buff, ..... и т.д. Посему в buff информация располагается посимвольно. Как преобразовать в построчную? Как создать массив из строк? |
|||
|
||||
| NULL |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 22.8.2003 Репутация: нет Всего: нет |
можно сделать так
char buff[10][10]; 10 строк а в них по 10 символов |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
это если в каждой сроке строго по 10 символов (включая пробелы)
Проще всего найти в считанном массиве строк символ перевода строки ("\n" или "\r\n") и таким образом определить где кончается строка. |
|||
|
||||
| Ars |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 28.8.2003 Где: Московская обл. Репутация: 2 Всего: 2 |
А еще проще использовать соответствующий класс mfc или vcl (в vcl - TStrings: можно читать/писать файл, работать с отдельными строками любой длины)
Это сообщение отредактировал(а) Ars - 29.9.2003, 11:48 -------------------- Есть многое на свете, друг Горацио, С чем очень долго можно прое..! |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
советую использовать библиотеку iostream ее функции позволяют читать по строчно, эти строк и будешь обрабатывать
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| NULL |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 22.8.2003 Репутация: нет Всего: нет |
DENNN а можно вот такова типа
////////// str = (char *) malloc(dwbufferSize+1); ReadFile(hFile, str....); int str_lenght = sizeof(str); char **buff = new char*[size];//сколько строк for(int ix = 0; ix < size; ix++) buff = new char[str_lenght/*длина строки*/]; strcpy(buff[0], str); cout << buff[0]; //////// |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
А можно вообще подключить "#include <string>" и не забивая себе голову пользоваться удобным контейнером "string".
-------------------- ![]() |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
mr.DUDA, оно конечно хорошо, только если человек с такой простой задачей не справился зачем ему в STL погружеться?
|
|||
|
||||
| Zerg |
|
|||
|
Unregistered |
Я пытаюсь использовать strtok для разбиения на токены и для разбиения на строки. Только работа продвигается оччччень медленно.
Спасибо за помощь, если будет возможность паомогите более подробно |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |