#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
システムコールを使用してファイルを開くにはどうすればよいですか?