有没有一种方法可以按字母顺序排列显示在同一行上的单词?我知道,如果我有一个新的一行字,我能够将它们轻松地使用排序:使用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
你在一行上有非分隔的单词,并且想阅读它们吗?让我们说,而不是“猫”“猿”和“蝙蝠”,它包含“一个”和“完成”。没有空格,这是'adone',然后可以用不同的方式拆分为“ad”和“one”。你在这种模棱两可的情况下做什么?有没有一个允许的词的字典? – apnorton