2012-03-21 13 views
3

私はコマンドラインの単語エディタプログラムを作っています。ユーザーは、制御文字を入力してファイルを変更するように求められます。私は、コマンドの一行を削除するコマンド「D」や、テキストの範囲に問題があります。ユーザーからのオプションの引数C++

input D: 
     D 3  --deletes line 3 
     D 2 8  --deletes lines 2 to 8 inclusively 

2行目は省略可能です。私はシンを持っています< < char < < int < < intですが、私はそのオプションを作る方法を見つけることができません。

+5

行全体を読み取り、別々に解析します。 – Cameron

答えて

5

std::string line; 
std::getline(std::cin,line); 

を行い、その後、手動で線分析、最初の言葉にそれを分割します。

機能を持つことが有用であろう:

void ToWords(const std::string &line, std::vector<std::string> &words); 

しかし、実装は、読者;-)への課題として残されています。

+0

アイドルな好奇心から、なぜそれをプロトタイプ化しないのですか? 'std :: vector ToWords(const std :: string&line)'? –

+0

@MichaelWilsonは、返品による潜在的なコピーを避けます。 –

+0

あなたにロッドリゴありがとう! – dajee

関連する問題