Я изучаю C и почему-то моя программа не может найти константу, определенную в библиотеке. В моем понимании S_IRUSR | S_IWUSR должен быть определен в fcntl.h, но я получаю, пытаясь скомпилировать эту ошибку: ... error: 'S_IRUSR' undeclared (первое использование в этой функции) ... ... error: 'S_IWUSR' undeclared ( Первое использование в этой функции)
Моя программа выглядит так:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
int main(int argc, char *argv[]){
int filedeskriptor;
char SchreibeTxt [100] = "Hallo getMonth", LeseTxt [100];
filedeskriptor = open("getMonthTxt", O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
if (filedeskriptor == -1){
printf("Fehler beim Öffnen von mydat \n");
exit (EXIT_FAILURE);
}
if (write(filedeskriptor, SchreibeTxt, sizeof(SchreibeTxt)) == -1){
printf("Fehler beim Schreiben in mydat \n");
exit (EXIT_FAILURE);
}
printf("In getMonthTxt geschrieben: %s \n", SchreibeTxt);
close(filedeskriptor);
return EXIT_SUCCESS;
}
Любая помощь?
Спасибо