0

Xcode 4.5を使用していて、プログラムに次のコードがあります。

char strChar[5];
cin.getline(strChar, 5);
int i = atoi(strChar);

数字を入力しようとすると、最初の数字が押された後、コンソールはそれ以上の入力を受け入れません(Enterキーを除いて、プログラムはすぐにゼロを返します)。明らかに、私は複数のキャラクターを受け入れたいのですが、どうすればこれを達成できますか?

私の質問に答えてくれてありがとう

4

3 に答える 3

2

1行を読みたい場合は、おそらく次のように書く方が簡単です。std :: getline(std :: cin、str)、ここでstrのタイプはstd::stringです。あなたの例は5文字しか読みません。

注:1つの数字だけでなく、複数行の数字の束を読みたい場合は、これをすべてループに入れる必要があります。

于 2012-09-22T07:27:55.173 に答える
2
*******更新***********2012年10月4日*********

APPLEは、この問題を修正するアップデートをリリースしました。XCODE 4.5.1(4G1004)

これは、Xcodeの最新リリース(4.5)の既知のバグです。Appleはそれを知っており、パッチに取り組んでいます。現在、プレス時に、既知の回避策はありません。今のところ、ターミナルでプログラムを実行する必要があります。

** Xcodeの新しいバージョンでは、コマンドラインツールは自動的にインストールされないことに注意してください**インストールするにはXcodeに移動->設定->ダウンロード->コマンドラインツールをインストールします

ターミナルでC++プログラムを実行するには:

1.)ターミナルを開きます。

2.)正しいディレクトリに移動します

3。)「makeprojectName」から引用符を引いたものを入力します

4.)プログラムの実行:「。/projectName」から引用符を引いたもの

于 2012-09-24T02:57:41.107 に答える
1

注:コードは文字列を「str」に読み込まず、「strChar」だけを読み込みました。

于 2012-09-22T07:30:58.757 に答える