C言語関係掲示板

過去ログ

No806 ファイルを別のディレクトリから読む

[戻る] [ホームページ]
No.10088

ファイルを別ののディレクトリから読むには
投稿者---NK(2003/10/27 14:40:25)


初めて質問させていただきます。
よろしくお願いいたします。
当方C言語3ヶ月の若輩者です。

scanf()で入力して、入力された文字列と同じ名前のファイルをfopen()で開く、ということをプログラム中に組み込んでいるんですが、実行ファイルと同じディレクトリに開きたいファイルがあるときは、問題なく動く様にはなっています。
ファイル管理の為、実行ファイルの入っているディレクトリとは別のディレクトリに入っているファイルを開くようにしたいんです。
開くファイルの指定は、scanf()で入力するという様にしたいのですが、どうやったらいいのでしょうか。

よろしくお願いします。

No.10090

Re:ファイルを別ののディレクトリから読むには
投稿者---nop(2003/10/27 15:39:43)


>ファイル管理の為、実行ファイルの入っているディレクトリとは別のディレクトリに入っているファイルを開くようにしたいんです。
>開くファイルの指定は、scanf()で入力するという様にしたいのですが、どうやったらいいのでしょうか。

sprintf() でファイル名とパス名を繋げて、
繋いだ文字列をfopen()のファイル名として指定すればOK。

FILE *fp;
char *path = "c:\\windows";
char buf[512] = {'\0'};
char fn[512] = {'\0'};

scanf( "%s", fn );
sprintf( buf, "%s\\%s", path, fn );

fp = fopen( buf, "r" );
/* 以下略 */

No.10094

Re:ファイルを別ののディレクトリから読むには
投稿者---NK(2003/10/27 20:09:31)


ありがとうございました。
うまくいきました!!

No.10097

Re:ファイルを別ののディレクトリから読むには
投稿者---ceybord(2003/10/27 20:38:50)


もうひとつの方法としては、読み込みたいファイルのあるディレクトリで、
絶対パスで(分かるなら相対パスでも良い。)実行ファイルを実行するというのがあります。