Для работы функции open нужна библиотека fcntl.h
Синтаксис:
open("1.txt", O_RDONLY);
Первый аргумент, имя открываемого файла.
Второй аргумент - flag.
| O_RDONLY | только для чтения |
|---|---|
| O_WRONLY | только для записи |
| O_RDWR | для чтения и записи |
Функция open может вернуть:
Пробуем:
#include <stdio.h>
#include <fcntl.h> // for open
int main(void)
{
int fd = open("1.txt", O_RDONLY);
printf("%d\\n", fd);
return (0);
}
Функции read так же нужна нужна библиотека fcntl.h
char buffer; - объявляем переменную типа 'char', её мы используем как буфер для считывания туда данных из потока, на который указывает идентификатор файлового потока(дескриптор файла), который будет хранится в переменной 'fd'
read(fd, &buffer, 1) - c помощью функции 'read' будет считывать данные из файла во временный буфер используя дескриптор файла(идентификатор потока к файлу), адрес переменной 'buffer' и размер буфера.
read возвращает число, отражающее колличество считанных в буфер символов
int r; Переменная которая хранит количество считаных в буфер символов
#include <stdio.h>
#include <fcntl.h> // for open
#include <unistd.h>
int main(void)
{
char buffer;
int fd;
int r;
fd = open("1.txt", O_RDONLY);
r = read(fd, &buffer, 5);
printf("%d\\n", r);
return (0);
}