#include <iterator>
#include <iostream>
using namespace std;
const int MAX_NAME_LENGTH=100;
int main()
{
char name[MAX_NAME_LENGTH];
cout<<"Introduce yourself\n";
istream_iterator<char> eos;
istream_iterator<char> isi(cin);
for(int i=0;i<MAX_NAME_LENGTH; i++)
{
if(isi == eos)
{
name[i]=0; //Breakpoint is set here.
break;
}
name[i] = *isi;
isi++;
}
cout<<"Hi "<<name<<endl;
system("pause");
}
名前を入力して Enter キーを押すと、このプログラムはまだコマンド プロンプトしか表示しません。デバッグ後、「if」に到達しないことが判明しました。ストリームの終わり (eos) に到達できないようです。
- 「if」内の条件が常に false になるのはなぜですか?
- 問題を解決する最も簡単な方法は何ですか?