- ベストアンサー
コマンドライン引数
コマンドラインから文字列として取得して、 ほかの変数に文字列として入れたいのですが、どうしたらいいですか?
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- コマンドを実行してコマンドライン文字列を読み込む
C言語(他の言語でも)で、コマンドを実行して結果の文字列を取得できるような関数はないでしょうか? コマンドを実行したプログラム内の変数に文字列として保持して、処理したいと考えています。 Windowsです。 よろしくお願い致します。
- ベストアンサー
- C・C++・C#
- コマンドラインがわかりません!!
(質問) (1)コマンドラインというのがわかりません。 (2)下の説明のところが全部わかりません。 よろしくおねがいします!! -------------------------------------------------- (説明) ファイルを処理するとき、ファイル名指定はコマンドラインから行うのが便利です。Javaではコマンドライン引数はmain( )メソッドの引数として次のように用意されています。 public static void main (String args[ ]) { ・・・・・ } このargs引数を使うと、コマンドラインから入力されたパラメーターを次のように取得できます。 最初のパラメーター文字列は0です。 args.length args[0] args[1] args [2] ・ ・ ・
- ベストアンサー
- Java
- コマンドライン引数のチェック
args[]ってString型の配列変数ですよね? たとえば、 コマンドライン引数で数字を受け取って演算するために Stringからint等の数値に変換するとします。 Integer.ParseInt()を使うと、もし数字ではない引数 だったときに例外処理が発生します。 事前に文字か数字がチェックする方法はあるのでしょうか? それとも例外処理で対応するしかないのでしょうか?
- ベストアンサー
- Java
- コマンドライン引数
1~10の整数のコマンドライン引数を受け取り、それと等しい英語及び受け取った引数の数を表示するプログラムを作りたいのですがわかりません。 引数がない場合、1~10以外の整数の場合はエラーメッセージを表示させてプログラムを終了するようにしたいです。 出力する英語の文字列は String 配列に格納するようにします。 実行結果です。 % java englishNum 2 3 1 Two Three One length : 3 % java EnglishNum No Parameter! % java EnglishNum 30 Only 1-10!
- ベストアンサー
- Java
- コマンドラインの引数が正しくありません。
Outlook Expressでメール送ろうとしたら戻ってきます。 それで、色々調べましたが、解らず、相手からきたメールの中の相手のメールの 所を、押したら、(コマンド ラインの引数が正しくありません。使用しているスイッチを確認してください)とでるのは・・・・なぜですか? メールの文字が間違っているのかなー? 教えてください。なお、PCは、MEです。
- ベストアンサー
- その他(メールサービス・ソフト)
- コマンドライン引数 java
学校で、2進数表記された文字列number1、number2…numberNを数値に変換し、合計を算出し、2進数表記の文字列に変換した結果を出力するプログラムを組む課題が出ました。 java Lesson06 number1 number2 … numberN の形式で受け取ったコマンドライン引数を元に、処理を行います。 ※number1からnumberNは、全て0か1のみで構成されている文字列 * 文字列の加算 * System.outまたはSystem.errのprint系メソッドで、Stringの値を受け取るもの以外 * Integerなどのラッパークラス * DecimalFormatなどの書式変換クラス 上記の機能は使ってはいけません。 ---- class Lesson{ public static void main(String args[]){ int sum; for(int i = 1; i < args.length; i ++) { int len = strlen(args[i]);//※ for(int j = 0; j < len; j ++) { if(args[i][len - j - 1] == "1") {//※ sum = pow(2, j) + sum;//※ } } } } } ---- とりあえず、与えられた二進数を計算する部分まで作ってみたのですが、※の部分でエラーが出てしまいます。 コマンドライン引数もよく分からなくて困っているので、教えていただければ助かります。 以上よろしくお願いいたします。
- ベストアンサー
- Java
- PocketPcでコマンドラインパラメータを取得したい。
PocketPcでコマンドラインパラメータを取得したい。 現在、eMbedded Visual C++ 3.0を使い、PocketPc用のアプリケーションを作っています。 MFCは使わずにAPIオンリーです。開発PCはW2Kです。 ターゲットはCASSIOPEIA E800 ちょっとマイナー?ですが、産業用PDAです。 コマンドラインパラメータの値により動作が異なるようなアプリケーションを 作りたいのですが、コマンドラインパラメータの取得方法を教えてください。 自分で書いたコードでは、コマンドラインパラメータが1文字しか取得できません。 文字列変数と、ポインタ変数の2種類の方法で試してみたのですが、 どちらも結果は同じでした。 因みに、コマンドライン入力は、フリーのGS_Finderとゆうソフトで実現したいます。 (PocketPcではOS単体で、コマンドライン入力が出来ませんので) また、E800上でコマンドラインパラメータを受け取って動作するアプリケーションも 確認しています。 よろしくお願いします。 /****************** ソースはこんな感じです。 ******************/ char GlpCmdLine[20]; LPTSTR GloballpCmdLine; /*****Defines the entry point for the application.*************/ int WINAPI WinMain( ・・・) { MSG msg; HACCEL hAccelTable; memset(GlpCmdLine,0x00,20); //初期化 strncpy (GlpCmdLine,(char*)lpCmdLine,20); CmdLineSave( GlpCmdLine ); // ファイルに保存(自作関数) GloballpCmdLine = GetCommandLine(); CmdLineSave( (char*)GloballpCmdLine ); // ファイルに保存(自作関数) ・ ・ ・ return msg.wParam; }
- ベストアンサー
- C・C++・C#
- コマンドプロンプトにおけるコマンドライン引数の展開
こんにちは。 コマンドプロンプトにおける、コマンドライン引数の展開のされ方について、質問させて下さい。 具体的に言うと、二重引用符で囲まれたコマンドライン引数が、 どのようにして各コマンドに渡されるのかを詳しく知りたいと思っています。 まずコマンドプロンプトが、コマンドラインの特殊文字を展開し、 それらが各コマンドに渡される事は知っています。 特に、2つの二重引用符で囲まれた文字列に含まれる特殊文字は普通の文字として扱われる事、 二重引用符は「\」によってエスケープできる事は知っています。 これらを理解した上で、以下のような事を試しました。 まず、以下のような、1.cというCプログラムを作成し、ビルドしました。 ____________________ #include <stdio.h> int main(int argc,char *argv[]) { int i; for(i=1; i<=9; i++) if(argv[i]) printf("argv[%d]=「%s」\n", i, argv[i]); return 0; } ____________________ 次に以下のようなバッチスクリプトを作成しました。 ____________________ @echo off echo %%~1:「%~1」 echo %%~2:「%~2」 echo %%~3:「%~3」 ____________________ その後、以下のようにして同じコマンドライン引数を、これらのプログラムに渡すと、 以下のような結果になりました。 ____________________ C:\Users\kei >1.exe "\"ab c\"" de argv[1]=「"ab c"」 argv[2]=「de」 C:\Users\kei >1.bat "\"ab c\"" de %~1:「\"ab」 %~2:「c\""」 %~3:「de」 ____________________ なぜ両者の出力結果に、違いが出るのかが分からず困っています。 コマンドプロンプロの仕様だと、1.exeの出力は予想通りだったのですが、 1.batの出力では、コマンドライン引数がスペースで区切られていると、 それらを二重引用符で囲んでも、1つの引数としてみなしてくれませんでした。 これだけでは不十分だと思い、以下のように、 Windowsコマンドではない、ダウンロードしてきたlessと Windowsコマンドであるtypeで、同じ事を試しました。 ____________________ C:\Users\kei >less "\"ab c\"" fa ab c: No such file or directory fa: No such file or directory C:\Users\kei >type "\"ab c\"" fa 指定されたファイルが見つかりません。 処理中にエラーが発生しました: \ab パラメータが間違っています。 ____________________ この結果をみると、lessでは1.exeと同じようにコマンドラインが解釈され、 moreでは1.batと同じようにコマンドラインが解釈されているようです。 こういった事実は 「まずコマンドプロンプトが、コマンドラインの特殊文字を展開し、 それらが各コマンドに渡される」 というコマンドプロンプトの仕様と矛盾しているので、頭が混乱しています。 こういった問題について、何か御存じの方がいらっしゃれば、情報提供をお願い致します。 長くなりましたが、よろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)