私は fstat を理解していると思っていましたが、間違っていました。
ファイルのサイズを知り、ファイルから読み取る必要があります。
fileN
ファイルのパスとファイルの名前があります。このように見えます。0.txt
struct stat fileStat;
FILE *fp;
int fd = 0;
int i;
for(i = 0; i < 100; i++)
{
fp = fopen(fileN, "r");
fd = open(fileN, "r"); // I think this is eating my files and making them 0 size.
fstat(fd, $fileStat);
printf("%d", fileStat.st_size);
fclose(fp);
}
fd = open(fileN, "r");
fstat を使用するには、なぜ使用する必要があるのですか? ファイルを2回開いているような気がします。
fileStat が構造体の場合、独自の構造体を作成するときに、fileStat.st_size
代わりにを使用するのはなぜですか? fileStat->st_size
例: myString->characters
;
そして、実行時に上記のコードが 0 を出力するのはなぜprintf
ですか? はい、ファイルのサイズは 0 より大きく、正しいファイル名とパスがあります。
上記のすべてのコードは、グーグル検索され、私の試行錯誤の実装と混合されたコードの私の解釈です。だからこそ、たくさんの質問があります。
編集:解決策: open() が間違って呼び出され、ファイルに影響を与えていました。