Вам необходимо указать тип fd
.Что это за тип?Проверьте ссылку open()
, в которой упоминается:
int open (const char * path, int oflag, ...);
Вы можете видеть, что тип возвращаемого значения int
.В результате переменная, которой должно быть присвоено возвращаемое значение этой функции, также должна быть того же типа.
Поэтому измените:
fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR);
на следующее:
int fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR);
PS: если файл не существует, вам нужно будет сделать:
int fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR | O_CREAT, 0600);
Подробнее о Использование open () для создания файла в C .