Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > чтение массива из файла


Автор: Lido4ka 9.3.2008, 19:29
Привет! Подскажите, пожалуйста, как прочитать из файла в массив таблицу значений. При этом известно количество строк и столбцов. Эти два значения хранятся в переменных m и n (они уже прочитаны ранее из этого же файла строчкой выше).

Автор: andrew_121 9.3.2008, 20:39
Значит у тебя двух-мерный массив.
Код

int rows = кол-во строк.
int cols = кол-во столбцов.

int tmp;

typedef std::vector< std::vector<int> > array2d;

array2d arr(rows);

for ( int i = 0; i < rows; i++ ) {
   for ( int j = 0; j < cols; j++ ) {
      file >> tmp;
      arr[i].push_back(tmp);
   }
}

Доступ к эллементам:
Код

std::cout << arr[i][j];

... если я нечего не напутал...

Автор: korian 10.3.2008, 03:15
Lido4ka
не понятно что есть "файл", в каком он формате и тп.
вам надо прочитать файл именно с помощью MFC?
если нет, то вообще не понятно почему эта тема тут smile

вообще вопросы надо как-то более конкретизировать, чтоли
типа "как с помощью MFC работать с файлами?"
или "как пользоваться массивами"

ну рескну предположить, что вопрос был "как с помощью MFC работать с файлами?"
тогда ответ такой:
есть класс CFile
в зависимости от того, что требуеться, есть смысл использовать класс CArchive совместно с CFile.
остальное поидее вы должны прочитать в MSDN smile
а если что-то не будет получаться, то повторно задать, НО уже конкретный вопрос.

Автор: andrew_121 10.3.2008, 15:58
Я полагаю, что формат файла, меня интересует меньше всего.
Пусть перегрузит
Код

operator<< ()
operator>> ()

как душа пожелает, и нечего тут париться.

Автор: Lido4ka 10.3.2008, 19:00
korian, может, для тебя одного MSDN и хватает, но не все же такие УМНЫЕ!!! Когда рабоаешь всю жизнь на Фортране, очень сложно потом самостоятельно изучить VC++... Я лишь конкретизировала, в какой среде работаю. Я прекрасно знаю, что там есть класс CFile, класс CString, но мне этого знания мало! Вопрос я задала достаточно конкретно, и все, кому надо, прекрасно меня поняли. 
korian,  я вижу, ты тут сам недавно...правила только изучил... Я их тоже знаю, советовать было необязательно!

Автор: andrew_121 10.3.2008, 19:24
Lido4ka
Мой пример помог ? ставь +
Не стоит затрачивать усилия на споры, лучше сделать что-нибудь полезное...
Если что не понятно, обращайся... Не стесняйся...
Удачи...

Автор: Lido4ka 13.3.2008, 12:42
andrew_121, спасибо за помощь!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)