我正在製作命令行字編輯器程序。系統會提示用戶輸入控制字符以更改文件。我在命令「D」中遇到了麻煩,它刪除了單行文本或一系列文本。來自用戶的可選參數C++
input D:
D 3 --deletes line 3
D 2 8 --deletes lines 2 to 8 inclusively
如何使第二行是可選的?我有cin < < char < < int < < int,但我找不到一種方法來使可選。
我正在製作命令行字編輯器程序。系統會提示用戶輸入控制字符以更改文件。我在命令「D」中遇到了麻煩,它刪除了單行文本或一系列文本。來自用戶的可選參數C++
input D:
D 3 --deletes line 3
D 2 8 --deletes lines 2 to 8 inclusively
如何使第二行是可選的?我有cin < < char < < int < < int,但我找不到一種方法來使可選。
做
std::string line;
std::getline(std::cin,line);
,然後手動分析線,第一分割成單詞。
這可能是有用的功能:
void ToWords(const std::string &line, std::vector<std::string> &words);
但實現留給作爲練習讀者;-)。
剛剛出於好奇,你爲什麼不原型:'std :: vector
@MichaelWilson迴避潛在的副本。 – 2012-03-21 17:18:56
謝謝rodrigo! – dajee 2012-03-21 17:53:50
閱讀整行並單獨解析。 – Cameron 2012-03-21 16:58:38