• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コマンドライン引数を使って2進数を10進数に変換させたい)

コマンドライン引数を使って2進数を10進数に変換する方法

このQ&Aのポイント
  • コマンドライン引数を使って2進数を10進数に変換するプログラムがうまく動作しないため、質問させてください。
  • 作成したコードの問題点を特定できず、2進数の入力ができない状況に困っています。
  • 作成環境は「Windows XP」と「Visual Studio .NET 2003」です。

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.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; } では駄目なのでしょうか?

mai-07_mai
質問者

お礼

参考にさせていただきます。 ご返答いただきまして、ありがとうございました。

その他の回答 (2)

回答No.2

   こういうの? http://oshiete1.goo.ne.jp/qa3690048.html  

  • 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[] にどのように格納されているかから復習して下さい。