Как создать массив строк типа string?
От: Дикс Россия http://thedowntown.ru
Дата: 25.12.09 18:04
Оценка:
скажите пожалуйста, как грамотно содержимое файла занести в массив строк типа string? размер файла заранее неизвестен.

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

типа

string []rows = loadFile("rows.txt");
http://thedowntown.ru — Даун Таун, треш креативы о Науме и мёртвом городке
Re: Как создать массив строк типа string?
От: wander  
Дата: 25.12.09 18:41
Оценка:
Здравствуйте, Дикс, Вы писали:

Д>скажите пожалуйста, как грамотно содержимое файла занести в массив строк типа string? размер файла заранее неизвестен.


Д>на данный момент я могу прочитать все в одну строку.

Д>как бы сделать универсальную функцию, которая возвращает массив со строками, чтобы этот массив можно было объявлять без указания размера?

std::vector<std::string> rows = loadFile("rows.txt");
Re: Как создать массив строк типа string?
От: GamerOne Россия  
Дата: 25.12.09 18:50
Оценка: 1 (1)
если вектор пойдет, то можно так:
#include <vector>
#include <string>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <iterator>

int main(int argc, char* argv[])
{
    std::vector<std::string> v;
    std::ifstream f("e:/test.txt");
    if(f.is_open())
    {
        std::copy(
            std::istream_iterator<std::string>(f),
            std::istream_iterator<std::string>(),
            std::back_inserter(v));
    }
    // проверочка
    std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
    return 0;
}
Re[2]: Как создать массив строк типа string?
От: Дикс Россия http://thedowntown.ru
Дата: 26.12.09 11:26
Оценка:
отлично, спасибо
http://thedowntown.ru — Даун Таун, треш креативы о Науме и мёртвом городке
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.