0

在 Linux 机器上,从 lseek64() 方法查找时出现一些时间错误。但是在相同的偏移量上经过一段时间后,它没有给出任何错误并且工作正常。在这种情况下,lseek64() 方法返回 -1。我们有自己的 c库也是。现在我们使用两个库,一个用于在磁盘上读/写,另一个用于使用我们自己的库捕获块更改信息。两个库会产生问题吗?

4

1 回答 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 回答