Я чтение данных из файла с помощью wifstream
Как использовать любой поток на wstring для извлечения данных
файл TXT выглядит следующим образом:
1,2,3,4,5,6,7
2,3,4,5,6,7,8
...
...
каждый номер представляет собой идентификатор мне нужно для программы и запятая является разделителем Вот мой код
wifstream inputFile(FILE_PATH);
if(inputFile)
{
wchar_t regex;
int id;
while(inputFile)
{
inputFile>>id;
inputFile.get(regex);
cout << id << ", ";
}
inputFile.close();
}
Этот код работает прекрасно, пока я не изменить схему считывания, в которой одна строка считывается в то время, Я хотел сделать что-то подобное на линии, чтобы я мог читать данные из строки, в то время как буфер потока выталкивает данные, как только они были прочитаны, как описано выше. Но я не могу заставить его работать. Вот мой код
wifstream inputFile(FILE_PATH);
wstring line;
if(inputFile)
{
while(!inputFile.eof())
{
std::getline(inputFile, line);
for(int i=0; i<line.length(); i+=2)
{
int id;
wchar_t regex;
wstringstream(line)>>id; // doesn't work as it keep getting the same number
wstringstream(line).get(regex);
cout << id << ", ";
}
cout << endl;
}
inputFile.close();
}
Я думаю, что причина не работает в том, что я не использую поток должным образом, и он продолжает чтение идентификатора при первом индексе и не прогрессировать независимо от того, сколько раз Я использую >>
(возможно, это не правильный способ использовать его в любом случае), я также попытался использовать wifstream
.
Как я могу обойти это?
OMG, это такая глупая ошибка! Спасибо! – ryf9059