ここから本文です

C言語で外部のexeファイル(例:"C:\test.exe")を実行したいのですが、やり方を調べ...

nab********さん

2013/1/300:39:01

C言語で外部のexeファイル(例:"C:\test.exe")を実行したいのですが、やり方を調べてもよくわかりません。どのようにしたらできるのか、教えてください。
因みに、PCはWindows7を使っています。

補足livingintheblueshadowsさんの方法も試したのですが、
sh: C:\test.exe: command not found
と出てきてなぜか実行できません(涙)

閲覧数:
434
回答数:
4
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

きてらいさん

編集あり2013/1/311:08:26

system関数を使う以外にも方法はあります。
cygwinに詳しくないのでcygwin上では動かないかもしれませんが…
「CreateProcess」という関数を使う方法です。
検索すると色々出てきます。
http://www.google.co.jp/#hl=ja&gs_rn=1&gs_ri=serp&pq=%E3%83%97%E3%8...

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

iam********さん

2013/1/312:48:04

Cygwin用のプログラム(Cygwin用ターミナルで実行可能なプログラム) test.exe を
CドライブのC:\直下に置いた場合を考えます。
ファイルのパスは、
Windowsの呼び方では、 C:\test.exe になりますが、
Cygwinの呼び方では、 /cygdrive/c/test.exe になります。
これをCygwin用の別のプログラムから実行する場合は、

#include <stdlib.h>

int main()
{
const char cmd[] = "/cygdrive/c/test.exe";
system( cmd );

return 0;
}

Windows用のプログラム(コマンドプロンプトで実行可能なプログラム)は、
このやり方では、実行できません。
WindowsとCygwinでは、プログラムを実行する仕組みが違うからです。

hid********さん

2013/1/302:34:16

sh:・・・・が出ているって事はcygwin上で実行されてるの
でしょうかね。
livingintheblueshadows様のプログラムの
\ 円マークの部分を
/ スラッシュに変えるだけでいいはずですよ。

編集あり2013/1/303:41:59

Cの標準ライブラリだと system() 関数だね。
http://www.bohyoh.com/CandCPP/C/Library/system.html

#include <stdlib.h>

int main(void)
{
return system( "C:\test.exe" );
}


追記
しまった…。
system("c:\\test.exe");
に訂正。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる