在Linux机器上,在lseek64()方法的搜索中得到一些时间错误。但是在相同的偏移量上一段时间后它没有给出任何错误并且工作正常。在这种情况下,lseek64()方法返回-1。我们有我们自己的c库也是。现在我们使用两个库来读取/写入磁盘,另一个用于使用我们自己的库捕获块更改信息。两个库可以创建问题吗?
答案 0 :(得分: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;
}