2012-04-26 4 views
0

Я новичок в C++. Я хочу написать программу для чтения значений из файла, который имеет данные в формате:Динамическая длина строки массива

text<tab or space>text 
text<tab or space>text 
... 

(... указывает больше таких линий)

Количество строк в файле изменяется. Теперь я хочу прочитать этот файл и сохранить текст в 1 массив двумерных строк или 2 1D строковых массива. Как это сделать?

Кроме того, я хочу запустить цикл for над этим массивом для обработки каждой записи в файле. Как я могу написать этот цикл?

+2

Какие исследования вы сделали до сих пор для решения этой проблемы? Вы искали сайт? Это очень распространенная задача. – mavam

+0

Прежде чем вы даже начнете делать то, что сказал Маттиас, что вы на самом деле делаете с этими массивами? Иногда мы можем игнорировать массивы и их полезность. – CppLearner

+0

Когда я написал вопрос, я увидел все похожие вопросы, которые появляются на правой стороне. И никто из них не решил мою проблему. В любом случае, я постараюсь найти аналогичный вопрос. – tumchaaditya

ответ

1

Вы ищете изменяемый размер массива. Попробуйте std::vector<string>. Вы можете найти документацию here.

Редактирование: возможно, вам также удастся это сделать, открыв файл, перейдя к нему, чтобы подсчитать строки файла, сформировать массив фиксированного размера, закрыть и снова открыть файл, а затем прокрутить файл для заполнения массив. Однако это не рекомендуется, так как это увеличит вашу сложность во время выполнения намного больше, чем небольшие накладные расходы, связанные с управлением вектором, и это сделает ваш код более запутанным для всех, кто его читает.

(пс - Я согласен с @ Matthias-Валлентин, вы должны были в состоянии найти это на сайте с минимальной работой)

Смежные вопросы