system

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
にこよん
記事: 112
登録日時: 2年前
住所: 大阪府
連絡を取る:

system

#1

投稿記事 by にこよん » 2年前

ファイルをドロップしたら起動するexeファイルをC言語で
ファイルがドロップされたかのようにパスを渡して起動する方法を教えてください。

↓のは作成したexeファイルにファイルをドロップするとそのままtest.exeにパスを渡して起動しようとしたのですが、
これでは動きません
デバッグするとtest.exeにブレークポイントが発生しましたと出ます

コード:


#include <windows.h>
#include <stdio.h>

char path[512];
char name[512];

int main(int argc, char* argv[]) {
	if (argc != 2) {
		printf("ファイルをドロップして開いてください\n");
		printf("\n\n終了するにはEnterキーを入力してください...\n");
		getchar();
//		return -1;
	}
	strcat_s(path, argv[1]);

	sprintf_s(name, 512, "test.exe %s", path);

	system(name);

	printf(name);
	getchar();

	return 0;
}
最近は東方風アクションゲームを少しずつ作ってる人です
東方翠風燐FreeDownload⇒http://dxlib.o.oo7.jp/cgi/patio/read.cgi?no=212

アバター
みけCAT
記事: 6246
登録日時: 9年前
住所: 千葉県
連絡を取る:

Re: system

#2

投稿記事 by みけCAT » 2年前

昔system関数を使った時に引数が(ダブルクオーテーションで囲っても)上手く渡せなかったような気がしますが、
提示されたコードではそれ以前にstrcat_sを使っているのにstring.hがインクルードされていない上、
strcat_sは(Visual StudioのものN1570 K.3.7.1.3のものともに)3引数をとるはずなのに2引数しか渡していないのがパット見でやばそうですね。
system関数が使われているのにstdlib.hがインクルードされていないという問題もありますね。
さらに、入力された%が渡される可能性があるのにprintf(name);を呼び出しているのも危険ですね。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
にこよん
記事: 112
登録日時: 2年前
住所: 大阪府
連絡を取る:

Re: system

#3

投稿記事 by にこよん » 2年前

なくてもコンパイルできるのにincludeしないといけないファイルがあるのですか...


>3引数をとるはずなのに2引数しか渡していないのがパット見でやばそうですね。
これ3引数だったんですね...ありがとうございました。修正しました。

他にもいろいろ変えて起動したらやっと動きました。
主だった原因はわらなくなってしまいましたが、動く用にはなりました。
ありがとうございました。
最近は東方風アクションゲームを少しずつ作ってる人です
東方翠風燐FreeDownload⇒http://dxlib.o.oo7.jp/cgi/patio/read.cgi?no=212

アバター
asd
記事: 318
登録日時: 9年前

Re: system

#4

投稿記事 by asd » 2年前

にこよん さんが書きました: 他にもいろいろ変えて起動したらやっと動きました。
主だった原因はわらなくなってしまいましたが、動く用にはなりました。
ありがとうございました。
せめて動くようになったという最終的なソースコードを貼っておくと後から見た人の参考になると思います。
Advanced Supporting Developer
無理やりこじつけ(ぉ

アバター
にこよん
記事: 112
登録日時: 2年前
住所: 大阪府
連絡を取る:

Re: system

#5

投稿記事 by にこよん » 2年前

asd さんが書きました: せめて動くようになったという最終的なソースコードを貼っておくと後から見た人の参考になると思います。
上に貼ったのは仮のサンプルコードで直したのは別のコードになるので解決方法としてのコードを貼ることはできません。
最近は東方風アクションゲームを少しずつ作ってる人です
東方翠風燐FreeDownload⇒http://dxlib.o.oo7.jp/cgi/patio/read.cgi?no=212

アバター
asd
記事: 318
登録日時: 9年前

Re: system

#6

投稿記事 by asd » 2年前

にこよん さんが書きました:
asd さんが書きました: せめて動くようになったという最終的なソースコードを貼っておくと後から見た人の参考になると思います。
上に貼ったのは仮のサンプルコードで直したのは別のコードになるので解決方法としてのコードを貼ることはできません。
そうですか。それであれば仕方ないですね。
Advanced Supporting Developer
無理やりこじつけ(ぉ

返信

“C言語何でも質問掲示板” へ戻る