3

私は 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() が間違って呼び出され、ファイルに影響を与えていました。

4

1 に答える 1