Re: Двумерный массив, загрузка из файла
От: ZegSoft Россия  
Дата: 01.02.11 22:45
Оценка:
Здравствуйте, Lyrka, Вы писали:

L>Ребят, возник вопрос... Есть файл, содержщий к примеру:


L>ООООМММММММММММ

L>ООООМММММММММММ
L>ООООМММММММММММ
L>МММММММММММММММ
L>МММММММММММММММ
L>МММММММММММММММ
L>МММММММММММММММ

L>Так вот. Мне нужно его считать в массив, но не весь. А конкретно ту область где находятся символы "О".


L>while (true)

L> {
L> if(i != map_size_x)
L> {

L> if(j != map_size_y)

L> {
L> j++;
L> in >> cLoadMap[i][j];
L> std::cout << cLoadMap[i][j];

L> }

L> else
L> {
L> j = 0;
L> i++;
L> std::cout << "\n";
L> }
L> }
L> else
L> {
L> break;
L> }

L> }


L>Этот код как бэ нормально сортирует символы в массиве, но, in >> cLoadMap[i][j]; , заносит все символы в массив из файла по порядку, т.е. там где мне нужно перейти на другую строку, он не переходит, и работает с этой строкой до конца.


L>Так вот в чем вопрос: как сделать, чтоб из файла считывалось N'ое количество символов в строке, и переходило считывать N'ое количество символов со строки ниже, и т.д.


Можно предложить 2 варианта:
1. После того, как прочитал N символов, продолжаешь чтение(но пропускаешь считанные символы) в цикле до тех пор, пока не встретится символ перехода на след. строку ('\n')
2. Читаешь строки не посимвольно, а целиком, функцией std::getline. И соответственно уже из считанной строки вытаскиваешь столько символов, сколько тебе нужно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.