Funkcja Posix Open z programowaniem C

Posix Open Function With C Programming



Koncepcja obsługi plików jest szeroko stosowana we wszystkich językach programowania. Specjalnie dla C i C++ znajdziesz obszerną literaturę na temat koncepcji obsługi plików. Za każdym razem, gdy chcesz uzyskać dostęp lub zmodyfikować plik w C lub C++, musisz go najpierw otworzyć, zarówno do odczytu, jak i do zapisu. Zadanie otwarcia pliku jest realizowane za pomocą funkcji Posix Open.

Ta funkcja zawiera zestaw parametrów, które są przekazywane wraz z tą funkcją w celu otwarcia określonego pliku. Omówimy te parametry w następnym nagłówku naszego artykułu. Jednak głównym celem tego artykułu jest edukacja na temat korzystania z funkcji Posix Open w Linux Mint 20. W tym artykule dowiesz się, jak funkcja Open działa z programowaniem w C.







Parametry funkcji Posix Open

Funkcja Posix Open zawiera dwa parametry, które są dalej podzielone na różne typy. Pierwszy parametr jest znany jako Ścieżka , który odnosi się do lokalizacji pliku, który chcesz otworzyć. Jeśli tworzysz kod C, aby otworzyć plik w tym samym katalogu, w którym znajduje się otwierany plik, wystarczy wpisać nazwę pliku i pominąć jego ścieżkę. Jeśli jednak plik, który ma zostać otwarty, znajduje się w innym katalogu, musisz określić jego pełną ścieżkę jako parametr funkcji Open, po której następuje ukośnik (/).



Drugi parametr funkcji Posix Open jest znany jako Flaga , który odnosi się do opcji, za pomocą których można otworzyć plik. Te opcje to tylko do odczytu, tylko do zapisu, odczyt i zapis, tworzenie pliku i zapobieganie tworzeniu pliku. Odpowiednie flagi tych operacji to O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, oraz O_EXCL odpowiednio. Możesz użyć jednej z tych flag na raz lub możesz połączyć więcej niż jedną flagę na raz, w zależności od wymagań, oddzielone znakiem | symbol. Po przeczytaniu poniższego przykładu zaczniesz lepiej rozumieć te flagi.



Przykład: Używanie funkcji Posix Open w Linux Mint 20

Aby podać przykład wykorzystania funkcji Posix Open z programowaniem w C w Linux Mint 20, stworzyliśmy program, który próbuje otworzyć plik. Jeśli ten plik już istnieje, ta funkcja po prostu go otworzy; w przeciwnym razie funkcja utworzy plik o określonej nazwie. Teraz przyjrzymy się wszystkim etapom realizacji tego programu, począwszy od jego powstania.





Krok 1: Utwórz przykładowy program do testowania funkcji Posix Open

Tutaj stworzyliśmy dokument w katalogu domowym naszego systemu Linux Mint 20 i nazwaliśmy go OpenFunction.c. Po utworzeniu tego dokumentu otworzymy go i wpiszemy w tym pliku kod pokazany na obrazku poniżej.



W kodzie pokazanym na powyższym obrazku utworzyliśmy zmienną całkowitą o nazwie fd , który odwołuje się do deskryptora pliku. Tej zmiennej zostanie przypisana wartość zwracana przez funkcję Open. Wartość tej zmiennej będzie wynosić 3, jeśli funkcja Open zostanie wykonana pomyślnie. W przeciwnym razie jego wartość wyniesie -1. W parametrach funkcji Open podaliśmy nazwę pliku, czyli NewFile.txt. Plik ten nie istniał wcześniej w naszym systemie, co oznacza, że ​​nasza funkcja Open utworzy ten plik.

Ponadto określiliśmy za pomocą flag funkcji Open, że jeśli plik już istnieje, to plik powinien zostać otwarty w trybie tylko do odczytu; natomiast jeśli nie istnieje, funkcja Open po prostu utworzy plik o określonej nazwie. Określiliśmy również, że jeśli wartość fd zmienna jest mniejsza od zera, to funkcja wypisze również błąd, który wystąpił podczas otwierania podanego pliku. Na koniec możesz zapisać swój kod, naciskając Ctrl + S .

Krok 2: Skompiluj przykładowy program

Po napisaniu przykładowego programu uruchomimy terminal, aby go skompilować za pomocą następującego polecenia:

$gccOpenFunction.c –o OpenFunction

Tutaj OpenFunction.c odnosi się do przykładowego pliku programu, który chcemy skompilować, podczas gdy OpenFunction po fladze -o odnosi się do pliku obiektowego, który zostanie utworzony po kompilacji.

Jeśli kompilacja naszego przykładowego programu przebiegnie pomyślnie, po uruchomieniu programu nie zobaczymy żadnych komunikatów o błędach w terminalu, jak pokazano na poniższym obrazku:

Krok 3: Uruchom przykładowy program

Na koniec, po skompilowaniu naszego przykładowego programu, możemy go uruchomić w Linux Mint 20 wydając następujące polecenie:

$./Funkcja Open

Tutaj OpenFunction odnosi się do tego samego pliku obiektowego, który został utworzony po kompilacji naszego przykładowego programu.

Możesz zobaczyć na wyjściu naszego przykładowego programu na poniższym obrazku, że wartość naszej zmiennej deskryptora pliku, tj. fd , wynosi 3. Ten wynik oznacza, że ​​kod został pomyślnie wykonany. Innymi słowy, plik o nazwie NewFile.txt został pomyślnie utworzony, ponieważ plik ten nie istniał wcześniej w naszym systemie. Jeśli chcesz, możesz nawet sprawdzić to w swoim katalogu domowym, aby sprawdzić, czy plik został utworzony.

Wniosek

Dzisiejszy samouczek pokazał, jak używać funkcji Posix Open z programowaniem w C w Linux Mint 20. Mamy nadzieję, że podany przykład wystarczy, aby podkreślić wagę tej funkcji. Bez względu na powód otwarcia pliku, nadal musisz użyć tej funkcji, aby uzyskać dostęp do pliku. Bez tej funkcji nie będziesz mieć dostępu do żadnych plików. Dlatego musisz nauczyć się korzystania z tej funkcji przed wykonaniem obsługi plików w C i C++.