Привет всем, поэтому мне нужно получить значения из текстового файла, но значения не автономны, все они записываются следующим образом:
Численность населения: 30
Есть ли способ в С++, который я могу прочитать после ':'? Я пробовал использовать оператор >>, например:
string pop;
inFile >> pop;
но, конечно, пробел завершает оператор до того, как он доберется до числа и по какой-то причине использует
inFile.getline(pop, 20);
дает мне множество ошибок, потому что по какой-то причине он не хочет писать напрямую в строку. Я действительно не хочу использовать массив символов, потому что тогда будет не так просто проверить число и извлечь его только из строка. Так я могу использовать функцию getline со строкой? И можно ли читать после символа ':'?
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#include <cstdlib>
using namespace std;
int main()
{
string fname;
cin >> fname;
ifstream inFile;
inFile.open(fname.c_str());
string pop1;
getline(inFile,pop1);
cout << pop1;
return 0;
}
Итак, вот мой код с новой строкой getline, но он по-прежнему ничего не выводит. он правильно открывает текстовый файл и работает с массивом символов
getline
дляstd::string
, которая не является членом входных потоков:std::getline(inFile, pop)
. - person Joseph Mansfield   schedule 03.11.2012while(std::getline(inFile, pop1)) { std::cout << "Line: " << pop1 << "\n";}
- person Martin York   schedule 03.11.2012