我在使用open()
时遇到麻烦。它总是返回-1
,但我不知道代码出了什么问题。
它一直在说:
r1: No such file or directory
但是txt文件与C程序位于同一目录中。
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#define BUFFSIZE 256
char upper(char c);
int main(void){
int fd1,read1,fd2,write2;
char *buffer[BUFFSIZE];
fd1 = open("minuscole.txt",O_RDONLY);
if (fd1 < 0) { perror("r1"); exit(1); }
read1 = read(fd1,buffer,BUFFSIZE);
close(fd1);
printf("%d",read1);
if(fd2 = open("maiuscole.txt",O_WRONLY | O_CREAT | O_TRUNC,0644) > 0){
write2 = write(fd2,BUFFSIZE);
}
close(fd2);
return 0;
}
我希望它创建一个名为"maiuscole.txt"
的文件并写入"minuscole.txt"
中的内容。