

No.1ベストアンサー
- 回答日時:
fopenで指定するファイル名は、絶対パス指定と相対パス指定の何れかで行います。
ファイル名を"file"としたとき、
"/aaa/bbb/file"が絶対パス指定です。
相対パス指定は
"file"又は"./file"となります。
これはwindowsの
"c:\\aaa\\bbb\\file"
"file"に相当します。
絶対パス指定で別のディレクトリに"file"を作成したい場合、別のディレクトリが/aaa/bbbであると仮定すると
"/aaa/bbb/file"がfopenで指定するファイル名となります。
相対パス名で指定方法については、現在自分がどこにいるか(どのディレクトリで実行するか)が、問題になります。
絶対パス指定で通常は問題ないので、この方法で行って下さい。どうしても相対パス名で指定したい場合は、その旨補足して下さい。
回答して下さってありがとうございます。何とか解決しました。しかし、まだわからないところがあります。今作っているプログラムを動かすことはできますが。
カレントディレクトリにTESTというディレクトリを作り、その中でfileIOというファイルをオープンさせようとしました。今回、「./TEST/fileIO」 と指定し、無事うまくいきました。しかし、絶対パスを用いるとファイルオープンを失敗してしまいます。「/home/aaa/TEST/fileIO」など。この書き方はおかしいんでしょうか…?

No.3
- 回答日時:
>今回、「./TEST/fileIO」 と指定し、無事うまくいきました。
しかし、絶対パスを用いるとファイルオープンを失敗してしまいます。「/home/aaa/TEST/fileIO」など。この書き方はおかしいんでしょうか…?書き方は正しいです。問題は、"/home/aaa/TEST"が正しいディレクトリ名かということになります。
「./TEST/fileIO」でうまくいったとういことは、カレントディレクトリは、"/home/aaa"とうことになりますが、
これは、正しいでしょうか。pwdコマンドでカレントディレクトリが表示されますので、それで確認してみて下さい。
この回答への補足
No.2の方に返事したとおりディレクトリはコピーペーストなのでおそらく間違ってません。まあ、スペースだとかファイル名の一部だとかいらない部分まで貼り付けてしまったのかもしれませんね。今ちょっと確かめられない状況ですが、後で確かめてみたいと思います。
回答してくださってありがとうございました。
今確認してみたところ、絶対パスでも出来ました。おそらくコピペのミスだったと思われます。
回答いただいてありがとうございます。No.2の方も、どうもありがとうございます。助かりました。
No.2
- 回答日時:
カレントディレクトリが間違っている可能性があります。
#include <unistd.h>
#include <sys/param.h>
char buf[MAXPATHLEN];
getcwd(buf,sizeof(buf));
printf("カレントディレクトリ=%s\n",buf);
などとやってカレントディレクトリを表示させ、間違っていたら
//#include <unistd.h>
chdir("/home/aaa");
とやって、カレントディレクトリを変更します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- PHP ファイルアップロードに関してのセキュリティについてアドバイスお願い致します 1 2023/08/20 00:25
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
このQ&Aを見た人はこんなQ&Aも見ています
-
fopenでのパス指定
C言語・C++・C#
-
ファイル出力の場所を指定
C言語・C++・C#
-
C ファイル出力で、フォルダがない場合でも作成する方法
C言語・C++・C#
-
-
4
fopne で失敗する原因
C言語・C++・C#
-
5
C言語 配列の長さの上限
C言語・C++・C#
-
6
ファイルやディレクトリの存在確認を行う方法
C言語・C++・C#
-
7
ファイル名に日付の挿入
C言語・C++・C#
-
8
絶対パスの取得について
C言語・C++・C#
-
9
C言語での引数の省略方法
C言語・C++・C#
-
10
【gcc・cygwin】multiple definitionエラーの解決法
C言語・C++・C#
-
11
ファイル書込みで一行もしくは部分的に上書きする
PHP
-
12
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
13
C言語でのフォルダ作成
C言語・C++・C#
-
14
相対パスの指定
C言語・C++・C#
-
15
fopenでファイル名に、変数を使いたい
C言語・C++・C#
-
16
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
17
コマンド(例えばls)の出力結果を文字列で取得するプログラムの作成方法
C言語・C++・C#
-
18
C言語のfopenについて教えてください。
C言語・C++・C#
-
19
C言語を用いたファイルの一括削除について
C言語・C++・C#
-
20
ファイル名を変数で書きこむfwriteの仕方
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どんなプログラムを書いても指...
-
fopenで別ディレクトリにファイ...
-
フルパスから最後のディレクト...
-
「UNCパスはサポートされません...
-
FTPでputすると空ファイルが出...
-
セルに入力されたパスでフォル...
-
ExcelVBAでカレントディレクト...
-
windows.hがincludeされない
-
Ubuntu テキストファイルをどこ...
-
フォルダ名をだすには
-
ファイルやディレクトリの存在...
-
ヘッダファイルの有効範囲
-
GetPrivateProfileStringでini...
-
絶対パスの絶対て英語で何でし...
-
webアプリケーションでの画像フ...
-
pythonでの日本語操作
-
visual c++ 2010 使ってます。
-
ネットワーク上のコンピュータ...
-
インクルードファイルの設定に...
-
EXCELでダイアログボックスを開...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フルパスから最後のディレクト...
-
どんなプログラムを書いても指...
-
FTPでputすると空ファイルが出...
-
「UNCパスはサポートされません...
-
絶対パスの絶対て英語で何でし...
-
ExcelVBAでカレントディレクト...
-
fopenで別ディレクトリにファイ...
-
windows.hがincludeされない
-
ファイルやディレクトリの存在...
-
セルに入力されたパスでフォル...
-
ネットワーク上のコンピュータ...
-
C言語を用いたファイルの一括削...
-
ExcelVBA サーバーの(共有フォ...
-
GetPrivateProfileStringでini...
-
マイクラでPythonのプログラミ...
-
webアプリケーションでの画像フ...
-
Ubuntu テキストファイルをどこ...
-
ファイルダイアログのカレント...
-
新規作成ファイルパスが有効か...
-
FindFirstFileについて
おすすめ情報