- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コマンドライン引数を使って2進数を10進数に変換させたい)
コマンドライン引数を使って2進数を10進数に変換する方法
このQ&Aのポイント
- コマンドライン引数を使って2進数を10進数に変換するプログラムがうまく動作しないため、質問させてください。
- 作成したコードの問題点を特定できず、2進数の入力ができない状況に困っています。
- 作成環境は「Windows XP」と「Visual Studio .NET 2003」です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#include <iostream> #include <string> #include <bitset> #include <cstdlib> int main(int argc, char* argv[]) { if (argc < 2) return EXIT_FAILURE; try { std::bitset<128> binary(std::string(argv[1])); std::cout << binary.to_ulong() << std::endl; } catch (...) { return EXIT_FAILURE; } return EXIT_SUCESS; } では駄目なのでしょうか?
その他の回答 (2)
- yaemon_2006
- ベストアンサー率22% (50/220)
回答No.2
- koko_u_
- ベストアンサー率18% (459/2509)
回答No.1
>for( i=0; i<argc; i++ ){ なぜ argc (引数の数)を終了条件にしているのかよくわかりません。 >if( binary[ i ] != ' ' ){ >decimal[ n ] = binary[ i ]; 何の前触れもなく binary[i] 登場。びっくり。 >for( i=0; i<argc; i++ ){ なぜ argc (引数の数)を終了条件にしているのかよくわかりません。 >for( i=0; i<'\0'; i++ ){ なぜ '\0' (ヌル文字)を終了条件にしているのかサッパリわかりません。 まずはコマンドライン引数が argv[] にどのように格納されているかから復習して下さい。
お礼
参考にさせていただきます。 ご返答いただきまして、ありがとうございました。