Как я могу сохранить данные из внешнего файла в 2D массив? (C ++) - PullRequest
0 голосов
/ 06 апреля 2019

Я делаю простую консольную игру на C ++, и я хотел бы иметь возможность читать карту из файла .txt и сохранять ее в виде 2D-массива.Я полагаю, что что-то подобное возможно с использованием fstream.
Я также не уверен, возможно ли создать размер 2D-массива на основе размера карты из внешнего файла.

Я пытаюсьчтобы заставить его работать примерно так:


.txt файл, из которого я беру карту из:

11111
10001
10001
10001
11111


Фактический двумерный массив:
char map[][] = { {1,1,1,1,1},
                 {1,0,0,0,1},
                 {1,0,0,0,1},
                 {1,0,0,0,1},
                 {1,1,1,1,1} }


Я немного новичок, когда дело доходит до C ++, поэтому я непока не совсем все понимаю.Это одно из моих первых чтений из внешнего файла, поэтому не ожидайте от меня многого:)

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 06 апреля 2019

Сначала добавьте входной файл (например, input.in, input.txt) в ваш проект. Инициируйте новый поток для чтения данных из этого файла. Читайте числа построчно и ставьте числа в матрицу.

#include <fstream>
using namespace std;

ifstream f(“input.in”);//declare the stream

int matrix[num_of_rows][num_of_columns];

void read(){
for(int i=0;i<num_of_rows;i++)
for(int j=0;j<num_of_columns;j++)
f>>matrix[i][j];}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...