No.2ベストアンサー
- 回答日時:
open()にシンボリックリンクを引数として与えると普通はリンク先のファイルを開きます。
なので、シンボリックリンクの判定をするならopen()→fstat()ではなくlstat()にすべきでした。No.1
- 回答日時:
リンクというのは、シンボリックリンク、ハードリンク、それ以外のどれでしょうか?
シンボリックリンクなら、fstat()の結果のstruct statのst_modeに対してS_ISLNK()マクロを使えば判定できます。
ハードリンクはstruct statのst_nlinkを見ればリンク数が分かります。
fstatのマニュアルページを参照のこと (man fstat)。
この回答への補足
回答有り難うございます.
説明不足ですみません.シンボリックリンクです.
シンボリックリンクに対して,
S_ISLNKを使ったのですが,結果は偽でした.
また,S_ISREGだと,結果は真でした.
以下のようにしたのですが,どこか間違ってるでしょうか?
引数にシンボリックリンクの名前を与えプログラムを実行.
↓
与えられた引数から,ファイル名を取得.
↓
openでファイル記述子を得る.
↓
fstatに先のファイル記述子とstruct statのアドレスを渡す.
↓
S_ISLNK()マクロをstruct statのst_modeに使う.
また,疑問なのですが,
openシステムコールを使用したときに,自動的にリンク先のファイルを
開いてしまうようなことはないのですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- Visual Basic(VBA) Excel VBA リンク更新について A、B、Cのファイルかあります。 (Aファイルのリンク元Bフ 1 2022/09/21 13:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/26 17:13
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- ノートパソコン パソコンのファイル追加履歴について 1 2022/05/07 15:35
- C言語・C++・C# プログラム内から、MIDIファイルの一部分だけを再生する方法 1 2023/02/15 11:08
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
自分で作成した重要ファイルを...
-
#include <Windows.h>というヘ...
-
アクセス 壊れた? 「ファイ...
-
exeファイルが作れない(windows10)
-
jarファイル
-
binファイルを解凍したいの...
-
C言語---ファイルに出力したデ...
-
Batファイルをバイナリ形式にす...
-
VBSが起動しない
-
iniファイル
-
Latexで図番号だけを「図1.1」...
-
VB.NET ファイルの種別取得方法
-
【VBS】 iniファイルの特定部...
-
フレーム境界線を動的に移動。
-
フォルダ内にあるファイル全て...
-
HTMLを正しく表示させるには
-
参照するファイルをワイルドカ...
-
fstatでファイルがリンクかどう...
-
公文書のxmlファイルの開き方が...
-
CSSを1ページに1枚作るのって変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
C#でログファイルにファイルパ...
-
binファイルを解凍したいの...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
.NETアプリを作ったときの .man...
-
exeファイルの中身を見る方法は...
-
C言語---ファイルに出力したデ...
-
CSSを1ページに1枚作るのって変...
-
jarファイル
-
コマンドプロンプトで、指定し...
-
自分で作成した重要ファイルを...
-
コマンドプロンプトで作成日時...
-
バッチ処理で追記コピーしたい
-
ファイルが開かれているかどう...
-
VBSが起動しない
-
公文書のxmlファイルの開き方が...
-
監視ツールを入れさせられまし...
-
Seasar2のdiconファイルの読み方
-
ファイル名にドットを使ったフ...
おすすめ情報