我有以下代码,它扫描一个文本文件并获取几行,我正在尝试实现一些输入验证,因此如果用户输入了错误的文件,它会提示用户并关闭程序而不是崩溃。我目前已经添加了一些东西,但我正在尝试实现一些东西来检查文件是否按字母顺序排序......
我目前尝试过 sort(word.begin(), word.end());
但这对单词进行了排序...我实际上并不想对单词进行排序我只是想检查它们是否按字母顺序排列如果不是,请关闭程序...我该如何实现?
文件的布局是
单词
定义
类型
空行
重复...
例如
a
the letter a
n
b
the letter b
n
c
the letter c
n
...end
最佳答案
如果您只想检查单词是否按字母顺序排列,为什么不检查第一个和第二个字符串?如果它们是有序的,你就去你的第二个和第三个......等等,直到其中一个没有被排序或文件结束。如果你做到了最后,就意味着他们被订购了..
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;
...
...
...
}
关于c++ - 检查文本文件是否按字母顺序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19449514/