#include <stdio.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
int main(int argc,char *argv[])
{
int fd;
int i=1;
for(i=1;i<argc;++i)
{
char temp;
fd=open(argv[i],"O_RDWR");
if (fd==-1)
perror("file:");
while (read(fd,&temp,1)!=EOF)
{
putchar(temp);
}
}
}
我执行./a.out a b
. a
并且b
是我目录中的文件。我收到一条错误消息File exists
。该行open(argv[i],"O_RDWR")
未打开文件。
-1
由于文件存在,它正在返回。那么我应该如何使用open
系统调用打开文件?