2016-11-29 13 views
-2

VCで文字列を入力したいが、私のプログラムを実行するとgetline関数が機能しなかったようだが、 "cin"部分はスキップされた。ここに私のコードはVCに文字列を入力するには

printf("Exercise 1\n"); 
    printf("Please enter the sentence you want\n"); 
    char str[256]; 
    std::cin.getline(str, 256); 
    std::cout << str; 

であるここに私のヘッダーは、私はVS2015のコミュニティを使用してい

#include <iostream> 
#include <string> 
#include <bitset> 

あり、私のコンパイラに何か問題はありますか?

+4

'文字列str [256];' - > 'のstd ::文字列str;' 'のstd :: cin.getline(STR、256);' - > ' std :: getline(std :: cin、str); '空は再び青色になります。 –

+2

別の本を入手してください。 * string *とtextに対して 'std :: string'を使うべきです。 –

答えて

0

なぜあなたはしないのですか?

char str[256]; 
std::cin >> str; 

又は

string mystring; 
std::getline (std::cin,mystring); 
+0

さて、私は以前にそれをしました。しかし、私は文字列中の単語と文字を数えなければなりません。そして、2つの単語の間の空白はスキップする必要があります。だから私はgetl​​ine関数を使ったのです。だから私はどうすればいいのですか? –

+0

ところで、 'std :: cin >> mystring'は単語を読み込みます。入力テキスト行を取得するには、 'std :: getline'を使用する必要があります。 –

+0

私は参照してください。編集されました。コメントをありがとう@ThomasMatthews –

関連する問題