Чтение в файл, попытка вернуть 2D массив символов

Эй, я пытаюсь взять файл в параметрах функции и вернуть массив двумерных символов, указатель двумерных символов или двумерный вектор … не совсем точно, какой именно мне следует использовать. Я думаю, двумерный массив символов, чтобы сделать его простым. По сути, я не знаю длины каждой строки в файле, который я собираюсь прочитать, поэтому я не уверен, какой длины будет обычный массив. Я визуализирую обычный лист бумаги как очень большой 2D-массив. Это то, что у меня так далеко, это все еще Пустота, так как я еще не знаю, что вернуть …

void ReadFile(std::string &file)
{

//This is a file reader object. This time I am passing the name of the file as an argument into the constructor.

std::ifstream TheReader(file);
int lineLength = 0;
int numLines = 0;

char linebreak = 13;
char singleCharacter;
if (TheReader.is_open())
{
TheReader.get(singleCharacter);if (singleCharacter != linebreak)
{
lineLength++;
TheReader.get(singleCharacter);
}
else if (singleCharacter == 13)
{
numLines++;
}std::vector<std::vector<int>> myVector;
lineLength = 0;
numLines++;

TheReader.close();

}
else
{
std::cout << "Error. Unable to open file" << std::endl;
}

}

Любой вклад — это хороший вклад!
Ура!

0

Решение

Вы, вероятно, хотите вернуть std :: vector
Что-то вроде того

std::vector<std::string> ReadFile(const std::string &file)
{
std::vector<std::string> output;
std::ifstream TheReader(file.c_str());
std::string line;
while (std::getline(TheReader, line))
output.push_back(line);
return output;
}
1

Другие решения