Функция открытия Posix с программированием на C

Posix Open Function With C Programming



Концепция обработки файлов широко используется во всех языках программирования. В частности, для C и C ++ вы найдете обширную литературу, содержащую информацию, касающуюся концепции обработки файлов. Всякий раз, когда вы хотите получить доступ или изменить файл на C или C ++, вы должны сначала открыть его для чтения или записи. Задача открытия файла решается с помощью функции Posix Open.

Эта функция содержит набор параметров, которые передаются вместе с этой функцией для открытия указанного файла. Об этих параметрах мы поговорим в следующем заголовке нашей статьи. Однако основная цель этой статьи - познакомить вас с использованием функции Posix Open в Linux Mint 20. Из этой статьи вы узнаете, как функция Open работает с программированием на C.







Параметры функции открытия Posix

Функция Posix Open содержит два параметра, которые далее делятся на различные типы. Первый параметр известен как Дорожка , который указывает на расположение файла, который вы хотите открыть. Если вы создаете свой код C для открытия файла в том же каталоге, в котором находится файл, который нужно открыть, вам просто нужно написать имя файла и опустить его путь. Однако, если файл, который нужно открыть, находится в любом другом каталоге, вы должны указать его полный путь в качестве параметра функции Open, за которым следует косая черта (/).



Второй параметр функции Posix Open известен как Флаг , который относится к параметрам, с помощью которых вы можете открыть файл. Эти параметры доступны только для чтения, только для записи, чтения и записи, создания файла и предотвращения создания файла. Соответствующие флаги этих операций: O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, а также O_EXCL соответственно. Вы можете использовать один из этих флагов одновременно, или вы можете объединить более одного флага одновременно, в зависимости от ваших требований, разделенных знаком | условное обозначение. Вы начнете понимать эти флаги более ясно после прочтения примера, приведенного ниже.



Пример: использование функции открытия Posix в Linux Mint 20

Чтобы предоставить пример использования функции Posix Open с программированием на C в Linux Mint 20, мы создали программу, которая пытается открыть файл. Если этот файл уже существует, эта функция просто откроет его; в противном случае функция создаст файл с указанным именем. Теперь рассмотрим все этапы выполнения этой программы, начиная с ее создания.





Шаг 1. Создайте образец программы для проверки функции открытия Posix

Здесь мы создали документ в домашнем каталоге нашей системы Linux Mint 20 и назвали его OpenFunction.c. После создания этого документа мы откроем его и введем в этот файл код, показанный на изображении ниже.



В коде, показанном на изображении выше, мы создали целочисленную переменную с именем fd , который относится к дескриптору файла. Этой переменной будет присвоено значение, возвращаемое функцией Open. Значение этой переменной будет 3, если функция Open выполняется успешно. В противном случае его значение будет -1. В параметрах функции Open мы указали имя файла, то есть NewFile.txt. Раньше этого файла в нашей системе не было, а это значит, что наша функция Open создаст этот файл.

Кроме того, мы указали с помощью флагов функции Open, что если файл уже существует, то файл должен быть открыт в режиме только для чтения; тогда как если он не существует, функция Open просто создаст файл с указанным именем. Мы также указали, что если значение fd меньше нуля, то функция также распечатает ошибку, возникшую при открытии указанного файла. Наконец, вы можете сохранить свой код, нажав Ctrl + S .

Шаг 2: Скомпилируйте пример программы

После написания программы-примера мы запустим терминал для ее компиляции с помощью следующей команды:

$gccOpenFunction.c –o OpenFunction

Здесь OpenFunction.c относится к файлу примера программы, который мы хотим скомпилировать, тогда как OpenFunction после флага -o относится к объектному файлу, который будет создан после компиляции.

Если компиляция нашей демонстрационной программы выполнена успешно, то мы не увидим никаких сообщений об ошибках в терминале после запуска программы, как показано на изображении ниже:

Шаг 3. Запустите пример программы

Наконец, после компиляции нашей демонстрационной программы мы можем запустить ее в Linux Mint 20, выполнив следующую команду:

$./OpenFunction

Здесь OpenFunction относится к тому же объектному файлу, который был создан после компиляции нашего примера программы.

На изображении ниже вы можете увидеть в выходных данных нашей примерной программы значение нашей переменной файлового дескриптора, т. Е. fd , равно 3. Этот вывод означает, что код был успешно выполнен. Другими словами, файл с именем NewFile.txt был успешно создан, поскольку раньше этого файла в нашей системе не существовало. Если вы хотите, вы даже можете пойти и проверить его в своем домашнем каталоге, чтобы проверить, был ли файл создан.

Заключение

Сегодняшнее руководство показало вам, как использовать функцию Posix Open с программированием на C в Linux Mint 20. Надеюсь, предоставленного примера будет достаточно, чтобы подчеркнуть важность этой функции. Независимо от причины открытия файла, вам все равно придется использовать эту функцию, чтобы получить доступ к файлу. Без этой функции вы не сможете получить доступ к файлам. Следовательно, вы должны изучить использование этой функции, прежде чем выполнять обработку файлов на C и C ++.