Linux マシンでは、lseek64() メソッドからのシークで時間エラーが発生します。しかし、同じオフセットでしばらくすると、エラーは発生せず、正常に動作します。この場合、lseek64() メソッドは -1 を返します。独自の c があります。現在、ディスクの読み取り/書き込み用に 1 つ、独自のライブラリを使用してブロック変更情報をキャプチャするために 2 つのライブラリを使用しています。2 つのライブラリが問題を引き起こす可能性はありますか?
1 に答える
1
使用できますperror("Reason:");
。これにより、問題がどこにあるのかがわかります。
つまり、lseek64() 呼び出しの後、perror() を使用します。
/* Demonstration of error handling with perror() and errno. */
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main()
{
FILE *fp;
char filename[80];
printf("Enter filename: ");
gets(filename);
if (( fp = fopen(filename, "r")) == NULL)
{
perror("You goofed!");
printf("errno = %d.\n", errno);
exit(1);
}
else
{
puts("File opened for reading.");
fclose(fp);
}
return 0;
}
于 2012-10-12T06:47:21.120 に答える