#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
int main()
{
int fd;
char c1[100];
printf("type text: ");
scanf("%s", c1);
printf("%s\n", c1);
if((fd = open("test.txt", O_WRONLY | O_CREAT | O_APPEND)) == -1)
{
return -1;
}
dup2(fd, 1);
close(fd);
printf("%s\n", c1);
return 0;
}
Этот код работает нормально, если файл "test.txt" уже существует.Но если файл "test.txt" не существует, этот код создает файл "test.txt" и выглядит как запись успешно, но файл txt не читается. (Проблема с правами доступа)
Я пытался
if((fd = open("test.txt", O_RDWR | O_CREAT | O_APPEND)) == -1)
У него такая же проблема.
Я знаю, что это проблема с правами доступа, но как мне исправить этот код?