VC++2010でC言語.exeを起動するには?


三日月  2011-02-12 22:50:19  No: 72335

VC++2010にて以下のような方法でtest.exeの起動を行っています。

system("C:\\cgengo\\test\\Release\\test.exe");

このとき、test.exeが起動されるのですがfread()やfwrite()、fseek()の部分で動かなくなってしまいます。
すべて外部のファイルを読み込んだり書き込んだりするものなので、fopen()が正常に取得できていないのでは?と考えました。
そこで、Vistaの管理者権限関係かと思い管理者として起動してみましたが変わりませんでした。

思いつく限りのことは試してみたのですが解決しないため質問させていただきました。
system()以外の起動方法などがあるのでしょうか?
知恵をお貸しいただけると助かります。


三日月  2011-02-12 23:28:43  No: 72336

追記:fopen()で読み込めているか確認したところ、読み込みに失敗しているのが確認できました。


瀬戸っぷ  2011-02-13 07:46:04  No: 72337

>system()以外の起動方法などがあるのでしょうか?

CreateProcess()とか、ShellExecute()とか…
APIかCランタイムか…の違いはありますが。

>追記:fopen()で読み込めているか確認したところ、読み込みに失敗しているのが確認できました。

fopen()でオープンできているか…かと。
errnoには何がセットされていますか?


ryo  2011-02-13 07:58:35  No: 72338

せっかく試行錯誤し、思いつく限りをしたのならば

どんなことをしたのか?
その結果どうなったか?
(たんに現象だけではなく、どんなエラーが返ってきたか?など)

などの情報は出せますでしょうか?

回答者「こんなのはどうでしょう?」
三日月さん「もうやりました」
みたいなことが減らせると思います


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加