0

通常のファイルを開いています。これはレコードのデータベースとして機能します。私はそれを次のように開きました:

fd = open ("file", O_CREAT | O_APPEND | O_RDWR, 0644);

次に、私のfind_record関数で、オフセットを先頭に移動します。

ret_val = lseek(fd, 0, SEEK_SET);

エラーをスローしESPIPEます。今、私は何が起こっているのか分かりません。ファイル記述子はパイプとして扱われますか? はいの場合、なぜですか?

lseek実際に働いていますか?ret_val-1ではないため、その必要があります。

4

1 に答える 1

1

errno呼び出しが成功したときに がリセットされる保証はありません。

errno戻り値がエラーを示している場合にのみ、 の値を確認する必要があります。

于 2014-11-17T09:51:42.157 に答える