Xcode 4.5を使用していて、プログラムに次のコードがあります。
char strChar[5];
cin.getline(strChar, 5);
int i = atoi(strChar);
数字を入力しようとすると、最初の数字が押された後、コンソールはそれ以上の入力を受け入れません(Enterキーを除いて、プログラムはすぐにゼロを返します)。明らかに、私は複数のキャラクターを受け入れたいのですが、どうすればこれを達成できますか?
私の質問に答えてくれてありがとう
1行を読みたい場合は、おそらく次のように書く方が簡単です。std :: getline(std :: cin、str)、ここでstrのタイプはstd::stringです。あなたの例は5文字しか読みません。
注:1つの数字だけでなく、複数行の数字の束を読みたい場合は、これをすべてループに入れる必要があります。
APPLEは、この問題を修正するアップデートをリリースしました。XCODE 4.5.1(4G1004)
これは、Xcodeの最新リリース(4.5)の既知のバグです。Appleはそれを知っており、パッチに取り組んでいます。現在、プレス時に、既知の回避策はありません。今のところ、ターミナルでプログラムを実行する必要があります。
** Xcodeの新しいバージョンでは、コマンドラインツールは自動的にインストールされないことに注意してください**インストールするにはXcodeに移動->設定->ダウンロード->コマンドラインツールをインストールします
ターミナルでC++プログラムを実行するには:
1.)ターミナルを開きます。
2.)正しいディレクトリに移動します
3。)「makeprojectName」から引用符を引いたものを入力します
4.)プログラムの実行:「。/projectName」から引用符を引いたもの
注:コードは文字列を「str」に読み込まず、「strChar」だけを読み込みました。