C++ では、先行ゼロを含む整数を入力するとエラーになります。
例:
int a;
cin>>a;
入力 00 または 01 を与えます。
または、文字列を使用して入力することをお勧めします。
C++ では、先行ゼロを含む整数を入力するとエラーになります。
例:
int a;
cin>>a;
入力 00 または 01 を与えます。
または、文字列を使用して入力することをお勧めします。
整数 (または浮動小数点数) には先行ゼロがありません。先頭のゼロを保持したい場合は、代わりに入力を文字列として読み取り、必要に応じて数値に変換する必要があります。または、書式設定を使用して、結果を印刷するときに先行ゼロを追加できます。
C++ では、先行ゼロを含む整数を入力するとエラーになります。
入力ストリームのフォーマット フラグの設定によっては、期待どおりにならない場合があります。デフォルトでは、ユーザー入力は常に 10 進数であると想定されます。先行ゼロは無効です。を呼び出してオフにするとどうなるstd::cin.unsetf()
でしょうか。
int main () {
int i;
std::cin.unsetf (std::ios::dec);
while (std::cin >> ii) {
std::cout << i << "\n";
}
}
25 を入力すると出力は 25 になりますが、025 を入力すると出力は 21 になります。これは、C++ が入力の先行ゼロを解釈して、それに続く数値が 8 進数 (先行 0x の場合は 16 進数) であることを意味するようになったためです。または先頭の 0X)。
先行ゼロは削除されます。メモリには保存されません。