【初心者歓迎】C/C++室 Ver.20【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0176デフォルトの名無しさん
2005/07/31(日) 21:40:21system()を使いたいんですがlinux上では"./"がいりますがwin上では"./"がいらないので
どう対応させたらいいのかで困っています。
一番素直なのは
#ifdef WINDOWS
sprintf(ss, "main.exe");
#elif defined UNIX
sprintf("ss, "./main.exe");
#endif
system(ss);
なんですが#ifdef, #endifをいちいち入力するのは面倒です。
なにかいい方法はありませんか?
すいません別件でもう一つあります。
system()をつかってあるプログラムを実行したいんですが、
そのときにバイナリデータを渡したいと思っています。
その方法として、ファイルにfwrite()でバイナリを一気に書いておいて
引数としてファイル名を渡そうかとも思ったんですが
main関数にバイナリデータを渡す方法はありませんか?
ファイルを通過させるとどうしてもIO時間がかかるのであまり使いたくありません。
渡したいデータは256バイト×2と決まっています。
■ このスレッドは過去ログ倉庫に格納されています