2017-07-02 5 views
0

より大きなプログラムのための小さなコマンドラインインタプリタの例をコーディングする必要があります。しかし、私が "1 2 3"と入力すると、出力は "1 \ n2 \ n3 \ n"であり、 "1 2 3 \ n"ではありません。1つのstd :: endlは3つのstd :: endl(s)を作成しますか?

#include <iostream> 

int main(int argc, char **argv) { 
    while (true) { 
     std::string line; 
     std::cin >> line; 
     std::cout << line << std::endl; 
    } 

    return 0; 
} 

答えて

1

getline機能を試してください。 getlineはあなたの期待される出力を提供します。

#include <iostream> 

int main(int argc, char **argv) { 
    while (true) { 
     std::string line; 
     std::getline (std::cin, line); 
     std::cout << line << std::endl; 
    } 

    return 0; 
} 
+0

複数の単語がある場合、自動的にOK OK cinが読み込みます。 –

関連する問題