我正在制作命令行字编辑器程序。系统会提示用户输入控制字符以更改文件。我在命令“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