コマンドラインで引数をわたす基本的なプログラムは
main(int argc,char *argv[]){....]
ですよね。
今回実行時に、
>実行ファイル名 123 + 233
といれたら、123+233を計算してくれるプログラムを作ろうとしています。
その場合、main(int argc,int *argv[]){}
としたら、argv[1]に123が入って、argv[2]に+が入って、argv[3]に233が、入るというわけではないんでしょうか?
とりあえず、確認で
#include<stdio.h>
main(int argc,int *argv[])
{
printf("%d\n%d\n",argv[1],argv[3]);
}
としてみたんですが、実行結果は、とても長い数字がでてきてきました。
なにがいけないのか教えてください。
お願いします。
あとWindows MEでVC++6を使ってます。
No.2ベストアンサー
- 回答日時:
C は、コマンドラインから渡された文字列をStartup ルーチンが解釈
してmain 関数を呼び出すようになっていますので、パラメータを受け取る
側の引数の型だけを変更しても意味がありません。
→ 結局は、文字列を格納したアドレスが渡ってきます。
数値型に変換する場合は、
main(int argc, char *argv[])
{
int val1, val2;
val1 = atoi(argv[1]);
val2 = atoi(argv[3]);
}
のように、変換してやる必要があります。
※ 上記のプログラムは、パラメータの数をチェックしていませんのが、
実際のプログラムではパラメータの数をチェックを忘れないように
して下さい。
回答ありがとうございます。
文字列を、必要な形に直さなくてはいけなかったんですね。
atoiがあることすらわかってませんでした。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- C言語・C++・C# C言語について コマンドラインで >変数 12.00 (char型) と、小数点付きの値を共用体に渡 1 2022/04/22 16:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2の補数を計算するプログラム
-
intとlongは同じ?
-
再起呼び出しの回数をカウント...
-
C言語で%を使わない余りの出し方
-
迷路を脱出する経路探索プログ...
-
画像の拡大・縮小
-
分数の足し算をさせるプログラ...
-
C言語で簡単なパックマンゲーム...
-
C++で表を作成したいのです ...
-
条件が多い場合
-
複数の共有メモリの作成
-
ヒストグラム均等化処理プログラム
-
3のつく数と3の倍数を表示 C言語
-
argvのNULLチェック
-
乱数で交互に偶数、奇数が、、、。
-
プログラミングに関して
-
OpenCVによる4値化について
-
再帰処理をループ処理に変換
-
16bitで乱数を生成する方法
-
C++ Debug Errorについて教えて
おすすめ情報