C言語関係掲示板

過去ログ

No.1203 system関数で他のアプリケーションを呼び出したい

[戻る] [ホームページ]
No.15742

system()関数について
投稿者---gamao(2004/07/21 19:18:59)


system(char *);
で他のアプリケーション(メモ帳など)を呼び出したいのですが、
書式がわかりません。
ご指導お願いします。


No.15750

Re:system()関数について
投稿者---円零(2004/07/21 20:51:24)


>system(char *);
>で他のアプリケーション(メモ帳など)を呼び出したいのですが、
>書式がわかりません。
>ご指導お願いします。

略されると気持ちが悪いです。int system( const char * );ですよね。

単にコンソール(コマンドプロンプトとか)に渡す場合と同じ文字列を渡すだけですよ。
それ以上は名前通りシステムによるんじゃないですかね。
とりあえずコンソールからメモ帳立ち上げられますか?

因みに私は今現在Win98などを使ってますのでこんな感じになりますが。
#include <stdio.h>
#include <stdlib.h>

int main(void){
    system("C:\\WINDOWS\\NOTEPAD.EXE");
    return 0;
}



No.15765

Re:system()関数について
投稿者---RAPT(2004/07/21 23:22:35)


因みに私は今現在Win98などを使ってますのでこんな感じになりますが。
通常はWindowsディレクトリにパスが通っているでしょうから、

#include <stdlib.h>
int main()
{
    system("NOTEPAD.EXE");
    return 0;
}

これだけでいいかもしれません。



No.15766

Re:system()関数について
投稿者---円零(2004/07/21 23:48:29)


なるほど。
普段使ってないのがバレバレでしたね。

stdio.hもつい条件反射で…


No.15767

Re:system()関数について
投稿者---nop(2004/07/21 23:51:29)


>他のアプリケーション(メモ帳など)を呼び出したいのですが、

まず、環境くらいは書きましょう。
「メモ帳など」の記述から、Windowsと推定して話を進めると、
Windowsなら、system() より、
ShellExecute()やCreateProcess()などのAPIを使うべきでしょう。

この辺りはどうしても環境依存になるので、
環境に合わせた書き方をするべきでしょう。