|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.05.2012, 05:18 | #1 |
Регистрация: 04.04.2011
Сообщений: 3
|
Копирование данных из файла в массив
Добрый день!
Имеется файл, в котором данные располагаются построчно в таком виде: (0.5,0.5) 0.98 (0.6,0.5) 0.94 и так далее. Нужно сформировать три массива, в которых будут храниться эти числа по столбикам. Для этого написал код: Код HTML:
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ HANDLE hFile = CreateFile ("c:\\text.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); unsigned int n_st = 0; if (hFile == INVALID_HANDLE_VALUE){ DWORD dwError = GetLastError (); MessageBox(NULL,"Ошибка!","Error", MB_OK | MB_DEFBUTTON1 | MB_ICONEXCLAMATION | MB_DEFAULT_DESKTOP_ONLY); return 0; } char buf[1]; memset (buf, 0, 1); DWORD dwBytesRead = 0; DWORD dwOffset = 0; //Нахожу количество строк n_st while (dwOffset < GetFileSize (hFile, NULL)) { SetFilePointer (hFile, dwOffset, NULL, FILE_BEGIN); if (ReadFile (hFile, buf, 1, &dwBytesRead, NULL)){ if (!memchr (&buf[0], '(', 1)){ dwOffset++; continue; } else n_st++; } dwOffset++; } double *X = new double [n_st], *Y = new double [n_st], *U = new double [n_st]; dwOffset = 0; DWORD nBD = dwOffset; for(int i=0; i<n_st; i++){ dwOffset = nBD; while (nBD < GetFileSize (hFile, NULL)) { SetFilePointer (hFile, nBD, NULL, FILE_BEGIN); if (ReadFile (hFile, buf, 1, &dwBytesRead, NULL)){ if (!memchr (&buf[0], ',', 1)){ nBD++; break; } } nBD++; } char *DigitX = new char[nBD-dwOffset]; ReadFile (hFile, DigitX, nBD-dwOffset, &dwBytesRead, NULL); X[i] = atof(DigitX); delete [] DigitX; } delete [] buf; CloseHandle (hFile); return 0; } |
10.05.2012, 11:04 | #2 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
А winapi вам обязательно использовать? Чем обычные методы работы с файлами не нравятся?
Форматируйте код, будьте людьми.
|
10.05.2012, 15:10 | #3 | |
Регистрация: 04.04.2011
Сообщений: 3
|
Цитата:
|
|
10.05.2012, 16:19 | #4 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
nickolay08
Ошибок не выдается, но и массив не заполняется. Подскажите, пожалуйста, в чем ошибка. Не пиши код в нотепаде - он не предназначен для поиска ошибок. Скачай нормальную среду разработки, в которой присутствует отладчик.
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
10.05.2012, 17:24 | #5 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
мрак, конечно.
например Код:
Код:
дальше круче. ну, нашли вы запятую, и что читать собрались? где текущий указатель файла? и сколько вы байт собрались читать? Код:
2 Rififi пользуюсь только нотепадом. |
11.05.2012, 09:02 | #6 | ||||
Регистрация: 04.04.2011
Сообщений: 3
|
Цитата:
Цитата:
Цитата:
Цитата:
Код:
Спасибо большое! |
||||
11.05.2012, 10:33 | #7 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
f.hump
2 Rififi пользуюсь только нотепадом. ну так ты, вроде, и не путаешься с отладкой, в отличие от протагониста... А вообще код действительно мракуха. Навернута телага их winapi, ручного выделения памяти. удаления статических массивов.. хотя сам парсинг занимает всего несколько строчек (вот у меня например - две :D ) Код:
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
чтение данных из файла и запись в в массив.как чтобы до конца читал? | Fundorin | Общие вопросы C/C++ | 0 | 15.11.2011 18:10 |
Копирование данных из одного файла Excel в другой через макрос | I.P.iX | Microsoft Office Excel | 0 | 31.05.2011 22:20 |
Копирование данных из одного файла в другой! | vipcrash | Microsoft Office Excel | 17 | 23.01.2010 21:11 |
копирование данных их файла .doc в файл Excel | prima | Microsoft Office Excel | 3 | 19.10.2009 08:37 |
копирование данных в новую таблицу при интерактивном выборе файла | gege | Microsoft Office Excel | 7 | 22.10.2008 17:16 |