#include<stdio.h>
int main(int argc,char *argv[])
{
FILE *fp;
fp=fopen("abc.txt","w");
}
こんな感じの xyz という名前のプログラムがあります。
MS-DOSで、xyzと同じディレクトリから
xyz tekitou リターン
と打ち込んでプログラムを起動させたらxyzと同じディレクトリの中に
abc.txtを作成してくれます。xyz.exeのダブルクリック起動でも
同様の結果です。
だけどxyz.exeのアイコンの上に適当なファイルを
ドラッグ&ドロップさせて起動させた場合
abc.txtは全然別の場所に作成されてしまいます。
正確に言うと、Windows98上でVisualC++6.0を使用して
上記のプログラムでデスクトップ上にxyz.exeを作成して
(C:\WINDOWS\デスクトップ\xyz.exeの)アイコンに
適当なファイルをD&Dしてプログラムを実行したらC:\にabc.txtが
できたということです。
私としては同じディレクトリ内に作成してくれなくては
都合が悪いのです。この現象が起きる理由あるいは
解決法をご存知の方がいらっしゃいましたらどうかよろしく
お願いします。
No.2ベストアンサー
- 回答日時:
#include "stdafx.h"
#include "windows.h"
int main(int argc, char* argv[])
{
char buf[1024];
GetModuleFileName(NULL, buf, sizeof(buf));
// ここで
// bufから xyz.exe を取り除き
// テキストファイルのフルパスを生成する
// ここで本来の処理
return 0;
}
GetModuleFileName()という関数を使えば xyz.exe の存在する位置のフルパスを取得できますから、それを使ってやればいいです。詳細はマニュアルを調べてください。
No.1
- 回答日時:
設定の変更が必要です
xyz.exeを右クリック→プロパティ→プログラム→作業ディレクトリ
これをC:\Windows\デスクトップに設定すればいいと思います
この回答への補足
たいへんありがとうございます!!
どうかもう一声お願いします。
xyz.exeを
エル・エス・アイ ジャパン(株)の 「LSI C-86 Ver 3.3 試食版」
で作成したのならあなた様のおっしゃるとおりに解決できました。
ですがVCで作成した実行ファイルでは(私の環境では)
右クリック→プロパティ→・・・全般
のタブしかでてきません。
LSIで作成したものでは
全般、プログラム、フォント、メモリ、画面、その他
のタブが出てくるのですが・・・
VCでこれらの項目を出現させるにはどうしたらよいのでしょうか?
タブの出現方法を知りたかったのですが
本来の質問と大きく離れた内容なので
別の場で質問させてもらおうと思います。
たいへんありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フルパスから最後のディレクト...
-
ExcelVBAでカレントディレクト...
-
FTPでputすると空ファイルが出...
-
fopenで別ディレクトリにファイ...
-
どんなプログラムを書いても指...
-
ファイルやディレクトリの存在...
-
「UNCパスはサポートされません...
-
AfxLoadLibrary関数で、DLLのハ...
-
ファイルダイアログのカレント...
-
ネットワーク上のコンピュータ...
-
ThisWorkbook.Pathについて
-
絶対パスの絶対て英語で何でし...
-
webアプリケーションでの画像フ...
-
windows.hがincludeされない
-
フォルダ名をだすには
-
デスクトップ上の全ファイル取得
-
C#の質問です。
-
VBAで自身のファイル名を取得す...
-
C言語を用いたファイルの一括削...
-
VBでフォルダ単位のFTP
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フルパスから最後のディレクト...
-
FTPでputすると空ファイルが出...
-
どんなプログラムを書いても指...
-
ExcelVBAでカレントディレクト...
-
「UNCパスはサポートされません...
-
GetPrivateProfileStringでini...
-
マイクラでPythonのプログラミ...
-
windows.hがincludeされない
-
fopenで別ディレクトリにファイ...
-
C言語を用いたファイルの一括削...
-
絶対パスの絶対て英語で何でし...
-
ファイルやディレクトリの存在...
-
ネットワーク上のコンピュータ...
-
pythonでの日本語操作
-
FTPでリモートのファイル一覧取得
-
Ubuntu テキストファイルをどこ...
-
webアプリケーションでの画像フ...
-
ExcelVBA サーバーの(共有フォ...
-
エクセルVBAで相対パスでファイ...
-
ファイルダイアログのカレント...
おすすめ情報