Есть ли способ сортировать слова в алфавитном порядке, которые отображаются в одной строке? Я знаю, что если у меня есть слова на новой линии я могу сортировать их легко с помощью:Сортировка слов в одной строке в файле с помощью sort()
vector<string> file;
string line;
file.clear();
ifstream infile("foo.txt", ios_base::in);
infile.seekg(3);
while (getline(infile, line)){
file.push_back(line);
}
sort(file.begin(), file.end());
ofstream outFile;
outFile.open("foo.txt");
for (const auto &e : file) outFile << e << "\n";
Но что, если слова были на одной строке в файле (неразделенные пробелами), например: catapebat
(кошачья обезьяна). Есть ли простой способ сделать это на C++? Разве я не сделал бы бит getline
, так как я только хватаю одну линию? Как мне подойти к этой проблеме?
Чтобы ответить на поставленный вопрос: да, есть простой способ сделайте это на C++. –
У вас возникли проблемы с базовым кодированием, необходимым для сортировки слов на одной строке? Попытка разбора слов, не разделенных пробелами, кажется отдельной (и сложной) проблемой. – Zong
У вас есть неразделимые слова на одной строке и вы хотите их прочитать? Скажем, вместо «кошки» «обезьяна» и «летучая мышь» она содержала «a» и «done». Без пробелов это «adone», и тогда их можно разделить по-другому как «объявление» и «одно». Что вы делаете в двусмысленных случаях? Есть ли словарь допустимых слов? – apnorton