0
請參閱下面的代碼片段,特別是第一個'else if'語句。我希望用戶有能力做到這一點:簡單的問題:爲什麼字符串庫函數std :: string :: find總是返回std :: string :: npos?
所以我要檢查「負荷」是字符串中,並試圖打開任何的「負荷」後
負載文件名。然而,string :: npos似乎總是返回(string :: npos只是意味着沒有位置)。
我可能在做一些愚蠢的事 - 這是基本的東西!
void Main::user_choice() {
string choice;
while(choice != "exit") {
cout << "> ";
cin >> choice;
if(choice == "view") {
Main::view_frameworks();
}
else if(choice.find("load ") != string::npos) {
}
else if(choice == "exit") {
return;
}
else {
cout << "Invalid command" << endl;
}
}
}
另外,請記住'std :: string :: find'區分大小寫,所以如果用戶輸入'Load myfile.txt',那麼它也會被報告爲'std :: string :: npos' 。 – Chad