|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.07.2010, 09:01 | #1 |
Пользователь
Регистрация: 04.07.2010
Сообщений: 19
|
считывание в массив
Доброго времени суток
У меня вопрос такой Как считывать из файла вроде бы разобрался только вот не понятно как это сделать в массив имею вот такой код считывания #include <iostream> #include <fstream> using namespace std; int main () { ifstream f1("events.csv"); for (int j=0;j<6;j++){ for (int i=0;i<3;i++){ char one[25]; input_file>>one; cout<<one<<" "; }; cout<<"\n"; }; cout<<"\n"; } работает это вот так 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;;, -;396;XI;23.06.2010 20:10:20;23.06.2010 20:12:44;0:02:24;;, N;417;���;23.06.2010 20:09:30;23.06.2010 20:12:50;0:03:19;;, если же я даю вот так #include <iostream> #include <fstream> using namespace std; int main () { ifstream f1("events.csv"); for (int j=0;j<1;j++){ for (int i=0;i<1;i++){ char one[25]; input_file>>one; cout<<one<<" "; }; cout<<"\n"; }; cout<<"\n"; } то не читается вся строка а читается только ее часть saidmir@alexmertvdesktop:~/proga/240610-1$ ./sa N;206;���-1;23.06.2010 И вот у меня три вопроса
помогите кодом кто может уже три дня мучаюсь как считать это в массив в массиве должно быть так 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 - 396 XI 23.06.2010 20:10:20 23.06.2010 20:12:44 0:02:24 N 417 ��� 23.06.2010 20:09:30 23.06.2010 20:12:50 03:19 затем я буду проверять первый столбец массива на наличие + и создавать новый массив с +'ми затем при помощи ofstream f2("otchet.doc") выводить эти плюсы в фаил .doc Заранее Спасибо
Кто я в этом деле?
Хотелось писать под Mac OS X, но необходимость писать под Windows тоже интересное занятие... Последний раз редактировалось saidmir; 04.07.2010 в 09:04. |
04.07.2010, 09:58 | #2 |
Пользователь
Регистрация: 04.07.2010
Сообщений: 19
|
char a[100];
char f[1000]; char tmp; int i,n,s; n=-1; while (!f1.eof()){ n++; f1>>tmp; if (!f1.eof()) a[n]=tmp; }; s=0; for (i=0;i<n;i++){ f1 >> f[i]; }; }
Кто я в этом деле?
Хотелось писать под Mac OS X, но необходимость писать под Windows тоже интересное занятие... |
04.07.2010, 10:02 | #3 | ||
Форумчанин
Регистрация: 23.02.2010
Сообщений: 107
|
Цитата:
Т.е. "input_file>>one;" читает до пробела. Код:
Цитата:
|
||
04.07.2010, 10:09 | #4 |
Пользователь
Регистрация: 04.07.2010
Сообщений: 19
|
Я попробовал вот так
#include <iostream> #include <fstream> using namespace std; int main () { ifstream f1; f1.open("events.csv"); char a[100]; char f[1000]; char tmp; int i,n,s; n=-1; while (!f1.eof()){ n++; f1>>tmp; if (!f1.eof()) a[n]=tmp; }; s=0; for (i=0;i<n;i++){ f1 << f[i]; }; } мне компиль дал вот что : saidmir@alexmertvdesktop:~/proga/240610-1$ g++ sa.cpp -o sa sa.cpp: In function ‘int main()’: sa.cpp:29: error: no match for ‘operator<<’ in ‘f1 << f[i]’ когда пробую вот так #include <iostream> #include <fstream> using namespace std; int main () { ifstream f1; f1.open("events.csv"); char a[100]; char f[1000]; char tmp; int i,n,s; n=-1; while (!f1.eof()){ n++; f1>>tmp; if (!f1.eof()) a[n]=tmp; }; s=0; for (i=0;i<n;i++){ f1>> f[i]; }; } Дает вот что saidmir@alexmertvdesktop:~/proga/240610-1$ g++ sa.cpp -o sa saidmir@alexmertvdesktop:~/proga/240610-1$ ./sa Ошибка сегментирования Как быть и каков алгоритм по моему он такой Считать строку и записать ее в массив while (!f1.eof()){ n++; f1>>tmp; if (!f1.eof()) a[n]=tmp; }; // считываем стоки for (i=0;i<n;i++){ tmp = f[i]; };// записываем в массив но опять т же saidmir@alexmertvdesktop:~/proga/240610-1$ g++ sa.cpp -o sa saidmir@alexmertvdesktop:~/proga/240610-1$ ./sa Ошибка сегментирования
Кто я в этом деле?
Хотелось писать под Mac OS X, но необходимость писать под Windows тоже интересное занятие... |
04.07.2010, 10:18 | #5 | |
Пользователь
Регистрация: 04.07.2010
Сообщений: 19
|
Цитата:
Код:
Кто я в этом деле?
Хотелось писать под Mac OS X, но необходимость писать под Windows тоже интересное занятие... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Считывание строк | ZET78 | Общие вопросы C/C++ | 6 | 11.05.2010 07:41 |
Считывание данных из БД | aimk0 | БД в Delphi | 0 | 05.05.2010 23:53 |
c++ считывание с файла. | tsergey | Помощь студентам | 20 | 24.04.2010 23:30 |
Считывание строк в массив | mc_12 | Общие вопросы C/C++ | 4 | 05.01.2009 13:11 |
Считывание символов | AI01 | Общие вопросы C/C++ | 5 | 01.03.2008 17:30 |