cin.get()関数をもちいれば半角英数字1文字だけコマンドプロンプト画面からキーボードを使って文字入力をすることができます


ソーラー「では


C言語の関数ではない


C++言語の関数


            cin.get()関数


について考察してみたいと思います」



マックス「get()にcin.がくっついている??」




ソーラー「そう


get()にcin.がくっついているんです



            cin.get()関数



C言語のgetchar()関数


とそっくりさんです


次のプログラムをご覧ください」

👇


#include <iostream>


using namespace std;


int main()

{


char a;


cout << "文字を入力してください。" << "\n";

a = cin.get();


cout << a << "\n";


return 0;

}


ビルド実行結果

a(と入力すると)

a(が表示されます)


ソーラー「


このプログラムでは


char a;


を実行して


char型の変数aを生成しています


cin.get()関数が実行されると


文字を入力するよう


コマンドプロンプト画面に

アンダーバー

_


が表示されます


そこで


a


とキーボードから入力すると


cin.get()には戻り値として

文字データ


'a'


が返されます


cin.get()は'a'の値をもつというわけです


このとき


メモリに文字データ'a'が格納されているのですね


そして


a = cin.get();


が実行されると


char型の変数aに文字データ


'a'


が代入されることになります


ですので


cout << a << "\n";


を実行すると


コマンドプロンプト画面に


a


が表示されることになります


今度は


コマンドプロンプト画面に

アンダーバー

_


が表示されているとき


空白(スペースキー)を打ち込んでみたいと思います


#include <iostream>


using namespace std;


int main()

{


char a;


cout << "文字を入力してください。" << "\n";

a = cin.get();


cout << a << "\n";


return 0;

}


ビルド実行結果

空白(スペースキー入力すると)

空白(が表示されます)


ソーラー「空白も


cin.get()関数は受け取ることができるんだね


今度は


コマンドプロンプト画面に

アンダーバー

_


が表示されているとき


数値データ1を打ち込んでみたいと思います


#include <iostream>


using namespace std;


int main()

{


char a;


cout << "文字を入力してください。" << "\n";

a = cin.get();


cout << a << "\n";


return 0;

}


ビルド実行結果

1(と入力すると)

1(が表示されます)


ソーラー「空白も


cin.get()関数は受け取ることができるんだね


今度は


コマンドプロンプト画面に

アンダーバー

_


が表示されているとき


数値データ123を打ち込んでみたいと思います


#include <iostream>


using namespace std;


int main()

{


char a;


cout << "文字を入力してください。" << "\n";

a = cin.get();


cout << a << "\n";


return 0;

}


ビルド実行結果

123(と入力すると)

1(が表示されます)


ソーラー「


123


を入力したのに


1

しか表示されていないね


実は


cin.get()関数は


半角英数字1文字分のデータ入力しかうけつけないんだよ


だから


コマンドプロンプト画面に

アンダーバー

_


が表示されているとき


全角文字



を打ち込むと


何も表示されないことになります


その様子を次のプログラムでご覧ください

👇


#include <iostream>


using namespace std;


int main()

{


char a;


cout << "文字を入力してください。" << "\n";

a = cin.get();


cout << a << "\n";


return 0;

}


ビルド実行結果

あ(と入力すると)

何も表示されません



おまけのコーナー


C言語の

getchar()関数が実行されている様子も観察してみましょう


👇


#include <stdio.h>


int main(void){

char a;

a=getchar();

printf("%c\n",a);

return 0;

}


ビルド実行結果


r  (と入力)

r  (と表示されます)


1  (と入力)

1  (と表示されます)



cin.get()関数とgetchar()関数は仕組みがとてもにていますね


  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る