В настоящее время я работаю над программой, которая читает каждую строку из файла и извлекает слово из строки, используя определенный разделитель.
Так что в основном мой код выглядит так
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argv, char **argc)
{
ifstream fin(argc[1]);
char delimiter[] = "|,.\n ";
string sentence;
while (getline(fin,sentence)) {
int pos;
pos = sentence.find_first_of(delimiter);
while (pos != string::npos) {
if (pos > 0) {
cout << sentence.substr(0,pos) << endl;
}
sentence =sentence.substr(pos+1);
pos = sentence.find_first_of(delimiter);
}
}
}
Однако мой код не прочитал последнее слово в строке. Например, мой файл выглядит следующим образом.
Привет, мир
вывод из программы только слово "привет", но не "мир". Я использовал '\ n' в качестве разделителя, но почему он не работает?
Любая подсказка будет оценена.