Мне нужно открыть один файл только для чтения и всего лишь для записи - только запись.
Вот мой код:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main( int argc, char *argv[] ){
if( argc != 2 ){
printf( "Naudojimas:\n %s failas_ar_katalogas\n", argv[0] );
exit( 255 );
}
int fd;
fd = open( argv[1], O_RDONLY );
if(fd == -1){
printf("Nepavyko atidaryti skaitymui.\n");
exit(1);
}
else {
printf( "Failas %s skaitymui atidarytas.\n", argv[1] );
}
int fd1;
fd1 = open( argv[2], O_WRONLY | O_CREAT | O_TRUNC, 0644 );
if(fd1 == -1){
printf("Nepavyko atidaryti rasymui.\n");
exit(1);
}
else {
printf( "Failas %s rasymui atidarytas.\n", argv[2] );
}
return 0;
}
Если я напишу только ОДИН аргумент, я получу вывод, что первый файл успешно открыт, но если я добавлю ДВА аргумента, я не получу вывод.
Ожидаемые результаты: файл, который упоминается в первом аргументе, открывается как доступный только для чтения, и файл, который упоминается во втором аргументе, открывается как запись только для записи (ps, если файл со вторым аргументом отсутствует, то его следует создать, если он существовал) , просто удалите данные из него.)