有沒有一種方法可以按字母順序排列顯示在同一行上的單詞?我知道,如果我有一個新的一行字,我能夠將它們輕鬆地使用排序:使用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