この環境でC言語のCUIプログラムの実行結果が見えるように、
プログラムを起動してポーズするプログラムを書きました。
ほとんどうまくいったのですが、コマンドラインとして「"」を含むものを入力すると、
エラーが出ます。
1)「runpause.exe "D:\zikken\test.exe" /c」をコマンドプロンプトに打ち込んで起動しました。
2)コマンドラインとして「"1"」を入力しました。
3)以下のエラーが出ました。
'D:\zikken\test.exe" "1' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。ソースコード
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char* argv[/url]) { char cmd[10000]; char runcmd[10000]; int i; if(argc<2)return 1; strcpy(runcmd,"\""); strcat(runcmd,argv[1]); strcat(runcmd,"\""); if(argc>=3) { fprintf(stderr,"コマンドラインを入力してください。\n"); fgets(cmd,sizeof(cmd),stdin); for(i=0;cmd!=0;i++) { if(cmd==0x0A || cmd==0x0D)cmd=0; } strcat(runcmd," "); strcat(runcmd,cmd); } system(runcmd); system("pause"); return 0; }
D:\zikken\test.exeのソースコード
#include <stdio.h> int main(int argc,char* argv[/url]) { int i; for(i=0;i<argc;i++) { printf("%s\n",argv); } return 0; }
(追記)解決方法がわかる方がいらっしゃいましたら教えていただければ幸いです。
