我有以下代码它扫描文本文件并获取几行,我正在尝试实现一些输入验证,因此如果用户输入了错误的文件,它会提示用户并关闭程序而不是崩溃。我目前添加了一些内容,但我正在尝试实现某些内容来检查文件是否按字母顺序排序...
我目前正在尝试sort(word.begin(), word.end());
,但这会对单词进行排序......我实际上并不想对单词进行排序,如果不是,则按字母顺序检查,关闭程序......我怎样才能做到这一点?
文件的布局是
word
definition
type
blankline
...重复
例如
a
the letter a
n
b
the letter b
n
c
the letter c
n
...end
答案 0 :(得分:3)
如果您只想检查单词是否按字母顺序排列,为什么不检查第一个和第二个字符串?如果它们按顺序排列,则转到第二个和第三个......依此类推,直到其中一个未订购或文件结束。如果你把它做到最后意味着它们已被订购..
string word, definition, type, blank, aux;
while (getline(dictionaryFile, word) &&
getline(dictionaryFile, definition) &&
getline(dictionaryFile, type) &&
getline(dictionaryFile, blank)) {
if (strcmp(aux.c_str(), word.c_str()) > 0) return;
else aux=word;
...
...
...
}