C++入力文字列の問題

709 ワード

C++に文字列を入力する問題については、簡単にいくつかあります.例えば、this is a string/を出力するなどです.
 
#include <iostream>
#include "string"

int main()
{
    char s[20];
    for(int i=0;i<17;i++)
    {
        s[i] = getchar();
    }
    std::cout<<s;

    return 0;
}

これは正しい方法で、出力の結果もthis is a stringです.
 
もう1つはCの入力方法で、scanf関数を呼び出すことです.
 
#include <iostream>
#include "string"

int main()
{
    char s[20];
    scanf("%20s",s);
    std::cout<<s;

    return 0;
}

 
この方法は、scanfがスペースに遭遇すると、リターンなどの文字が入力を停止するため、上記のコードはthisという結果しか出力できません.
 
もちろんwhileループを使うのがいい方法もあります.