私はここ数年前から触れていないC++をもう一度学んでいます。私は理解できないような独特のバグに遭遇しました。なぜ私のコードは説明なしで終了するのですか?
次のコードを実行すると、期待通りに10個の入力が受け付けられますが、最初のfor
ループの直後にプログラムが終了します。私はgdb
でそれを実行して問題を見つけ出しましたが、プロセスが「正常に終了しました」と報告しました。 g++ -std=c++11
#include <iostream>
#include <string>
using namespace std;
int main() {
//User inputs
string input[10];
//Get the inputs
for(int i = 0; i < 10; i++) {
//Get this input
printf("%i> ", i);
getline(cin, input[i]);
}
//The application does not make it to this point
//Collected
printf("Thank you for submitting your data.\n");
//Print inputs
for(int a = 0; a < 10; a++) {
//Show the input
printf("%i> %s\n", a, input[a].c_str());
}
}
は[こちら]ファインワークス(https://ideone.com/68wsNx)。これをIDEで実行していますか? – NathanOliver
私は[c9.io](http://c9.io)を使ってプログラムをコンパイルしてから、ターミナルから手動で起動します。 –
'cin.get();'をプログラムの最後の行に追加して、それがウィンドウを開いたままにしているかどうか確認できますか?それが以下の答えであれば、あなたが必要とするものです。 – NathanOliver