C Програмиране

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

Отворена функция Posix с програмиране на C
Концепцията за обработка на файлове се използва широко във всички програмни езици. По-специално за 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 Open в Linux Mint 20

За да предоставим пример за използване на функцията Posix Open с програмиране на C в Linux Mint 20, създадохме програма, която се опитва да отвори файл. Ако този файл вече съществува, тогава тази функция просто ще го отвори; в противен случай функцията ще създаде файл с посоченото име. Сега ще разгледаме всички етапи на изпълнение на тази програма, започвайки с нейното създаване.

Стъпка 1: Създайте примерна програма за тестване на отворена функция Posix

Тук създадохме документ в началната директория на нашата Linux Mint 20 система и го нарекохме OpenFunction.° С. След като създадем този документ, ние ще го отворим и ще напишем кода, показан на изображението по-долу в този файл.

В кода, показан на изображението по-горе, ние създадохме целочислена променлива, наречена fd, което се отнася до Файловия дескриптор. На тази променлива ще бъде присвоена връщаната стойност на функцията Open. Стойността на тази променлива ще бъде „3“, ако функцията Open се изпълнява успешно. В противен случай стойността му ще бъде „-1.”В параметрите на функцията Open сме предоставили име на файл, т.е.д., „NewFile.текст.”Този файл не е съществувал в нашата система преди, което означава, че нашата функция Open ще създаде този файл.

Също така, чрез флаговете на функцията Open сме посочили, че ако файлът вече съществува, файлът трябва да се отвори в режим само за четене; като има предвид, че ако не съществува, функцията Open просто ще създаде файл с посоченото име. Също така посочихме, че ако стойността на fd променливата е по-малка от нула, тогава функцията също ще отпечата грешката, възникнала при отваряне на посочения файл. И накрая, можете да запазите кода си, като натиснете Ctrl + S.

Стъпка 2: Компилирайте примерна програма

След като напишем примерната програма, ще стартираме терминала, за да го компилираме със следната команда:

$ gcc OpenFunction.c -o OpenFunction

Ето, OpenFunction.c се отнася до примерния програмен файл, който искаме да компилираме, докато OpenFunction след флага “-o” се отнася до обектния файл, който ще бъде създаден след компилация.

Ако компилирането на нашата примерна програма се извърши успешно, тогава няма да видим съобщения за грешки в терминала след стартиране на програмата, както е показано на изображението по-долу:

Стъпка 3: Стартирайте примерна програма

И накрая, след компилиране на нашата примерна програма, можем да я стартираме в Linux Mint 20, като издадем следната команда:

$ ./ OpenFunction

Тук „OpenFunction“ се отнася до същия обектен файл, който е създаден след компилацията на нашата примерна програма.

Можете да видите в изхода на нашата примерна програма на изображението по-долу, че стойността на нашата променлива File Descriptor, т.е.д., fd, е „3.”Този изход означава, че кодът е изпълнен успешно. С други думи, файл с име „NewFile.txt “е създаден успешно, тъй като файлът не е съществувал преди в нашата система. Ако искате, можете дори да отидете и да го проверите в домашната си директория, за да проверите дали файлът е създаден.

Заключение

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

Безплатни и игри с отворен код за разработване на Linux игри
Тази статия ще обхване списък с безплатни двигатели за игри с отворен код, които могат да се използват за разработване на 2D и 3D игри на Linux. Същес...
Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...