![]() |
|
Модераторы: bsa |
![]()
|
|
| saidmir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
Доброго времени суток
У меня такой вопрос возможно ли считать все лист csv в массив и потом работать с этим csv как у же с массивом иметься поля даты и времени как сохранить эти поля без изменения типа данных пишу под Win как сортировать и отбойку делать в массиве разобрался теперь вот только xls файл надо туда подключить помогите кодом кто может Это сообщение отредактировал(а) saidmir - 29.6.2010, 17:58 |
|||
|
||||
| vnf |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
так xls или csv? csv легкий текстовый формат, xls намного сложнее
|
|||
|
||||
| saidmir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
Подключить csv файл. Создать на основе этого файла массив размерностью 5 на 3000 там время ест и дата Я просто с файлами не разу не работал поэтому спрашиваю как выборку сделать в принципе понятно только пока не понятно как подключить такой фаил к программе а так первая под задача звучит вот так ________________________________________________________ Подключить csv файл. Создать на основе этого файла массив размерностью 5 на 3000 Первый столбец -- действие (загрузка или разгрузка) Второй столбец -- автосамосвал Третий столбец -- пункт разгрузки Четвертый столбец -- врнемя начала действия Пятый столбец -- конец действие Шестой столбец -- разница между временем начала и конца Оттобрать из первого столбца + сформировать масив из этих плюсов Отобрать из массива - сформироват массив из этих минусов _______________________________________________________ все что красным пока не ясно Спасибо |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
fopen + fgets/fscanf + fclose или ifstream + ifstream::operator << создать масив (malloc или new или vector<string[5]>) прочесть в него построчно из файла (см. предыдущий пункт) создать новый массив, последовательно перебрать старый, сравнить old_array[i][0] == "+" (или strcmp(old_array[i][0],"+")==0), если совпало - добавить строку в новый аналогично Это сообщение отредактировал(а) xvr - 30.6.2010, 13:33 |
|||
|
||||
| saidmir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
простите пожалуйста, а вы бы не могли написать кусочек скрипта который бы наглядно показал какие библиотеки и как присоеденять csv фаил и как создать массив на него вот такой фаил надо подкрепить и создать на него массив если вам не сложно то помогите с кодом заранее спасибо Присоединённый файл ( Кол-во скачиваний: 5 )
events.csv.zip 30,68 Kb |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
||||
|
||||
| saidmir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
||||
|
||||
| saidmir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
привет всем
покопался в справках и вот что придумал 1 создать структуру с разными типами которые имеються в файле а потом в нее считывать файл или глупо как вы думаете? |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
saidmir
если тебе понятно, то не глупо |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
http://forum.vingrad.ru/forum/Vingrad-help-center.html
И на лету преобразовывать в нужные типы нормально, вот только это даже не верхушка айсберга, это скорее маленькая птичка, которая на этой верхушке сидит |
|||
|
||||
| saidmir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
как я понял мне надо тут использовать библиотеку fstream
примерно так http://ruseti.ru/book6/Glava%204/Index5.htm или тут это не подойдет? |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
||||
|
||||
| saidmir |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
вроде как с подключением разобрался
выдает вот, что: saidmir@alexmertvdesktop:~/proga/240610-1$ g++ sa.cpp -o sa saidmir@alexmertvdesktop:~/proga/240610-1$ ./sa N;206;���-1;23.06.2010;20:09:24;23.06.2010;20:10:26;0:01:02;;,; +;304;37;23.06.2010;20:09:42;23.06.2010;20:11:02;0:01:19;;,; N;208;���-1;23.06.2010;20:09:33;23.06.2010;20:11:36;0:02:02;;,; N;411;���;23.06.2010;20:09:32;23.06.2010;20:12:32;0:03:00;;,; а вот когда так:
вот, что: saidmir@alexmertvdesktop:~/proga/240610-1$ g++ sa.cpp -o sa saidmir@alexmertvdesktop:~/proga/240610-1$ ./sa N;206;���-1;23.06.2010;20:09:24;23.06.2010; 20:10:26;0:01:02;;,;+;304;37;23.06.2010; 20:09:42;23.06.2010;20:11:02;0:01:19;;,; N;208;���-1;23.06.2010;20:09:33;23.06.2010; не понятно по чему когда вот так он не читает всю строку
а читает только ее часть saidmir@alexmertvdesktop:~/proga/240610-1$ ./sa N;206;���-1;23.06.2010; отсюда вывод буду использовать первый скрипт для чтения из файла только как оно будет проверяться на + и - пока не ясно может так же в цикле но пока не пробовал |
||||||
|
|||||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
мда... кто так делает?
вместо char one[1000] следует использовать std::string one вместо input_file >> one следует использовать std::getline(input_file, one); циклы убираешь, так как ты не знаешь заранее сколько данных в csv. вместо них будет один цикл:
|
|||
|
||||
| saidmir |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
Простите но это у меня выдало кучу ошибок порывшись в книгах и в сети на шел вот такую вещь считывая из файла csv проверяя сразу на + и - и на N записывая эти строки в свои файлы Вот такой код
Но в чем тут дело работает вот так точнее не работает saidmir@alexmertvdesktop:~/proga/240610-1$ g++ sa1.cpp -o sa1 sa1.cpp: In function ‘int main()’: sa1.cpp:15: warning: format ‘%s’ expects type ‘char*’, but argument 3 has type ‘int’ sa1.cpp:15: warning: format ‘%s’ expects type ‘char*’, but argument 3 has type ‘int’ sa1.cpp:18: warning: format ‘%s’ expects type ‘char*’, but argument 3 has type ‘int’ sa1.cpp:18: warning: format ‘%s’ expects type ‘char*’, but argument 3 has type ‘int’ sa1.cpp:21: warning: format ‘%s’ expects type ‘char*’, but argument 3 has type ‘int’ sa1.cpp:21: warning: format ‘%s’ expects type ‘char*’, but argument 3 has type ‘int’ saidmir@alexmertvdesktop:~/proga/240610-1$ ./sa1 Ошибка сегментирования saidmir@alexmertvdesktop:~/proga/240610-1$ Все файлы созданы но в чем прикол так и не понятно они пусты Прошу помогите кто может Книгу нашел потихоньку читаю но как тут быть не знаю помогите пожалуйста |
||||
|
|||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |