我正在努力unix system calls.在我的代码中我想要open文件并对该文件执行lseek操作.请查看以下代码.
#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <unistd.h>
int main(void)
{
int fd;
fd = open("testfile.txt", O_RDONLY);
if(fd < 0 );
printf("problem in openning file \n");
if(lseek(fd,0,SEEK_CUR) == -1)
printf("cant seek\n");
else
printf("seek ok\n");
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
我的输出是:
problem in openning file
seek ok
Run Code Online (Sandbox Code Playgroud)
我的问题是:
1)为什么open系统调用给我负面文件描述符?(我已经确定testfile.txt文件在同一目录下)
2)这里我无法打开文件(因为open()返回我的负文件描述符),如何lseek在不打开文件的情况下成功?
| 归档时间: |
|
| 查看次数: |
184 次 |
| 最近记录: |