использование ifstream для чтения числа из текстового файла в std :: vector <int> - PullRequest
0 голосов
/ 25 апреля 2011

У меня есть функция чтения, которая берет числа из текстового файла и сохраняет их в структуре данных.Я сделал эту функцию.

void VectorIntStorage::read(ifstream &in)
{
    if(in.is_open())
    {
        for (int i = 0; in && i < n; ++ i) 
        {
            in >> vectorStorage<i>;
        }
    }
}

Я пытаюсь добавить их в векторную структуру, этот код правильный ??

Ответы [ 2 ]

2 голосов
/ 25 апреля 2011

Нет, это не так. Канонический путь будет:

vector <int> v;
int n;

while( f >> n ) {
    v.push_back( n );
}

где f - это поток if.

0 голосов
/ 25 апреля 2011

Нет, если вы напишите свой код таким образом, компиляция не удастся.Возможно, вы можете выделить достаточно места для вектора, а затем сохранить дату, прочитанную ifstream.

vector<int> v(MAX_SIZE);
int iIndex = 0;

while((iIndex < v.size()) && (in >> v[iIndex]))
{
    ++iIndex;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...