Я создал папку, и после того, как я открыл в ней файл, напишите на него.
Бывает, что после этого я пытаюсь открыть файл, но у меня нет прав, поэтому я должен изменить его вручную.
/* str1 has tha name of the folder */
/* str the bytes I want to write in the file inside the folder*/
...
mkdir(str1,0777);
if (filefd < 0) {
strncpy(auxstr, str, MAX_MSG + 1);
strcat(str1,"\\");
strcat(str1, auxstr);
filefd = open (str1, O_RDWR | O_CREAT | O_TRUNC);
nbytes -= (strlen(str) + 1);
memcpy(auxstr, &str[strlen(str)+1], nbytes);
memcpy(str, auxstr, nbytes);
}
/*write to the file */
if ((nwritten = write(filefd, str, nbytes)) != nbytes) {
printf ("can't write on file\n");
break;
}
Что я должен изменить, чтобы иметь права на открытие созданного файла?
Большое спасибо,
: S
с = 0_CREATE У меня все еще есть проблема отсутствия прав на чтение файла.
Я должен установить их вручную
И у меня уже есть 0_CREAT на открытии
открыто (str1, O_RDWR | O_CREAT | O_TRUNC);