
実行ファイルのあるディレクトリに結果を出力するCで書いたプログラムがあります。
この実行ファイルのショートカットを作り、それを起動したところ、結果が手元ではなく、実行ファイルのあるディレクトリに作成されてしまい困っています。
ショートカットをおいたディレクトリに出力するようにするにはどうやったらよいのでしょうか?
実行ファイルのソースリストはありますので、実行ファイルの修正も可能です。
ソースリストを見たところ、結果を出力するファイルは、
fp = fopen("temp.txt", "w");
でファイルをオープンしていました。
なお、実行環境は、WinXPです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
>実行ファイルのあるディレクトリに結果を出力するCで書いたプログラムがあります。
実行ファイル名を取得して、パス名解析などして出力ファイル名を作成している。
という認識でよろしいでしょうか?
>ソースリストを見たところ、結果を出力するファイルは、
> fp = fopen("temp.txt", "w");
>でファイルをオープンしていました。
こちらは「カレントディレクトリ」に出力するよう指示しているので、
「実行ファイルのあるディレクトリに結果を出力する」にはなっていませんが。
# fopenの前にカレントディレクトリを実行ファイルのある場所に変更していればその限りではありません。
>ショートカットをおいたディレクトリに出力するようにするにはどうやったらよいのでしょうか?
ショートカットから起動した場合、どのショートカットから起動したのか…というのを取得する方法がありますかね?
# なさそうな気もしますが……
ショートカットのプロパティでカレントディレクトリが設定できますからそちらで設定する。
ということになるかと。
# 「作業フォルダ」とかの名前になってるかと。
プログラム実行中でもそのプロセスのカレントディレクトリは変更される可能性がありますから…
「カレントディレクトリにファイルを出力」「カレントディレクトリ下のファイルから入力」という組み方は問題になる場合がある。というコトは認識しておいた方がいいでしょう。
早速の回答ありがとうございます。
>ショートカットのプロパティでカレントディレクトリが設定できますからそちらで設定する。
ありました。できました!!
>こちらは「カレントディレクトリ」に出力するよう指示しているので、
>「実行ファイルのあるディレクトリに結果を出力する」にはなっていませんが。
このプログラムを今まで使っていて、「実行ファイルのあるディレクトリ」=「カレントディレクトリ」と理解していました。
「実行ファイルのあるディレクトリ」と「カレントディレクトリ」は違うのですね。勘違いしていました。
ということは、普通の実行ファイルの起動では、「カレントディレクトリ」が「実行ファイルのあるディレクトリ」に設定されて起動されている、ということですね。
ショートカットでの起動では、プロパティでカレントディレクトリの設定後に、実行ファイルが起動されるわけですね。
ショートカットを作ると、デフォルトで、「実行ファイルのあるディレクトリ」をカレントディレクトリに設定しているので、結果、ショートカットを作っても、実行ファイルのあるディレクトリにファイルが作成されていたわけですね。
納得しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX RPA(PowerAutomate)の実装について 1 2023/07/31 13:46
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- Windows 10 ショートカットの使い方について教えて下さい。 2 2022/06/21 15:27
- その他(IT・Webサービス) エクセルの実行ファイルについての質問です。 1 2023/05/04 03:58
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- PHP ファイルアップロードに関してのセキュリティについてアドバイスお願い致します 1 2023/08/20 00:25
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルが裏で動いたままなん...
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
Aviutl音声ファイルについて
-
VB6からEXCEL2007へ出力は可能?
-
VB6.0でExcel,PDF,Word出力方法
-
コマンドプロンプトのテキスト...
-
回路図エディタのBSchで作った...
-
Acrobat参照設定
-
COBOL、項目末尾に空白がある場...
-
EXCEL VBAでのCSVファイル読み...
-
COBOL FILLER
-
Studio One 3 でwavファイルの合成
-
CSV形式で保存するとファイ...
-
サーバー側で、XML,XSLを整形さ...
-
iTextでPDFを表示させたら日本...
-
テキストファイルの一部分を抽...
-
0バイトのテキストファイル
-
VB2008 iniファイルの全セクシ...
-
ATTファイルってどうやって開け...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
コマンドプロンプトのテキスト...
-
Thunderbird 受信メールからの...
-
COBOL、項目末尾に空白がある場...
-
Acrobat参照設定
-
エクセルVBAでMHTMLで保存したW...
-
accessのリポートを、excelに出...
-
AccessのレポートからPDFをペー...
-
Excel で「OLE は現在使用でき...
-
エクセルが裏で動いたままなん...
-
CSV形式で保存するとファイ...
-
“ファイルに出力”した印刷ファ...
-
ファイナルカットで編集した動...
-
ショートカットで起動した場合...
-
PHP:unzipコマンドにおけるエ...
-
TransferSpreadsheetでフルパス...
-
EXCEL VBAでのCSVファイル読み...
-
MDI形式のファイルから文字をき...
-
指定されたファイルの関数名・...
おすすめ情報