実行ファイルのあるディレクトリに結果を出力する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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの時刻の形式について
-
accessでクエリをExcelにエクス...
-
コマンドプロンプトのテキスト...
-
accessのリポートを、excelに出...
-
AccessのレポートからPDFをペー...
-
VB6からEXCEL2007へ出力は可能?
-
Thunderbird 受信メールからの...
-
コマンドプロンプト)フォルダ...
-
Excel で「OLE は現在使用でき...
-
社員情報
-
全てのグリフの一覧を出力する...
-
javaサーブレットでjspへのフォ...
-
ファイナルカットで編集した動...
-
VB.NET操作で Excelにビットマ...
-
ショートカットで起動した場合...
-
MT-4トレード結果をエクセルに...
-
EXCEL VBAでのCSVファイル読み...
-
squidについて
-
COBOL、項目末尾に空白がある場...
-
LTSpiceの出力データを取り扱う...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
COBOL、項目末尾に空白がある場...
-
コマンドプロンプトのテキスト...
-
Thunderbird 受信メールからの...
-
AccessのレポートからPDFをペー...
-
accessのリポートを、excelに出...
-
COBOL FILLER
-
WshShellから起動したbat(ftp)...
-
Acrobat参照設定
-
ファイナルカットで編集した動...
-
クエリをエクセルファイルへの出力
-
excel vbaでのxml出力がわかり...
-
ショートカットで起動した場合...
-
VBA 参照先で選んだファイルを...
-
iTextでPDFを表示させたら日本...
-
Excel で「OLE は現在使用でき...
-
“ファイルに出力”した印刷ファ...
-
TransferSpreadsheetでフルパス...
-
EXCEL VBAでのCSVファイル読み...
おすすめ情報