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