不知下面程序结果不知如何解决,请各位不惜请教!!!
#include <unistd.h>#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define MAX_LEN 4096
int main(int argc, char **argv)
{
int fd;
int i;
char buf[MAX_LEN];
for(i = 0; i < MAX_LEN; i++)
{
buf[i] = 0;
}
if (argc != 2)
{
printf("Invalid argument!\n");
printf("Usage: %s file_path\n",argv[0]);
return 1;
}
if ((fd = open((char *)argv[1], O_RDONLY)) == -1)
{
perror("Open failed");
return 1;
}
if(lseek(fd, 100, SEEK_SET) = -1)
{
perror("lseek error");
return -1;
}
if (read(fd, buf, 50) != 50)
{
perror("Read error");
return 1;
}
printf("%s\n",buf);
return 0;
}
在linux下编译执行结果如下
lseek error
:lllegal errr
这个程序的题目是:打开一个文件,读取100字节后的50个字节
[ 本帖最后由 chenxy3133 于 2010-9-3 23:38 编辑 ]