FSYNC -Systemanruf in c

FSYNC -Systemanruf in c

„Möglicherweise haben Sie viel über die Grundstruktur der C -Sprache und ihre Einfachheit gehört, weil die meisten Entwickler sie zuerst lernen, bevor sie eine andere Sprache lernen. Es verfügt über einen FSYNC () -Systemanruf oder eine Funktion oder Funktion, die alle Aktualisierungen der Festplatte spügt (übergeht), um die Änderungen an einer Datei widerzuspiegeln. Außerdem stoppt die FSYNC -Funktion den Spülprozess, bis alle Updates, die von mehreren Prozessen in einer einzelnen Datei stattfinden. Dieser Artikel zeigt die Funktionsweise der FSYNC () -Funktion in der C -Sprache.

Jedes System, in dem Sie Ihre Codierungsumgebung gearbeitet oder installiert haben. Daher wird empfohlen, Ihr System vor und nach Installationen und Konfigurationen zu aktualisieren, insbesondere das Linux -System. Daher ist das Dienstprogramm „APT“ am besten für die Aktualisierung mit "sudo" -Rechte an der Konsole. Wenn es nach Ihrer Erlaubnis bittet, indem Sie ein Passwort anfordern, müssen Sie es bereitstellen. In einem Moment in Sekunden wird Ihr System aktualisiert.”

$ sudo apt-Get-Update

Auf die gleiche Weise müssen Sie Ihr Linux -System mit dem empfohlenen Dienstprogramm i aktualisieren.e. "Apt" mit "sudo" -Rädern. Der Upgrade -Prozess kann etwas mehr Zeit dauern als der Aktualisierungsprozess.

Dieser Vorgang kann eine Bestätigung erfordern. Sie können es einen sicheren Schritt nennen, in dem Sie Informationen über den Speicherplatz erhalten, den dieser Vorgang von Ihrem System benötigt. Wenn Sie so viel Platz nicht stören, mit dieser Installation fortzufahren, verwenden Sie die Taste „Y“ zur Bestätigung. Danach wird Ihr System mit neuen Funktionen aktualisiert.

Nachdem alle notwendigen Voraussetzungen in unserem System installiert und konfiguriert wurden, müssen auch der Compiler von C konfiguriert werden. Verwenden Sie den Befehl vorgelegt in der Konsole, um dies zu tun.

Beispiel

Das Konzept einer Datei ist bei Entwicklern sehr bekannt, insbesondere wenn Sie viel an objektorientierten Programmiersprachen, einigen strukturellen Sprachen und einfachen prozeduralen Sprachen geleistet haben. Dieses C -Beispiel wäre für jeden Entwickler eine große Hilfe, da die C -Sprache die grundlegendste Lernsprache für jeden Programmierschüler ist und es lieber lernen kann, sie zu lernen. Daher initiieren wir dieses Beispiel mit den grundlegenden C -Bibliotheken, die in diesen Code importiert werden müssen, um verschiedene C -Funktionen zusammen mit einigen Anmeldungsfunktionen zu verwenden.

Die ersten beiden Bibliotheken sind die Standardbibliotheken, die in den Codes die Funktionen „Eingabe“ und „Ausgabe“ verwenden, die veränderlich und Streams sind. Mit anderen Worten, diese beiden Bibliotheken helfen uns dabei. Da kommt der „fcntl.H ”Kopfball von C. Es ist der Hauptkopf, den wir nicht verpassen können, wenn wir an Dateien aus unserem System arbeiten möchten.

Danach die Verwendung von „sys/typen.H ”und„ SYS/STAT.H ”Header -Bibliotheken ermöglichen es uns, verschiedene Datentypen und Statistiken im Code zu verwenden, i.e., Charaktere, Zeiger, exit () Funktionen usw. Zusammen mit dem können auch einige Anmeldetypen mit den oben genannten drei Bibliotheken verwendet werden, i.e., Operationen lesen und schreiben. Endlich haben wir eine Zeichenfolge.h ein Unistd.H Header, der hauptsächlich verwendet wird, um String -Mutable und Funktionen und Standard -Unicode im Skript zu verwenden.

#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten

Jetzt beginnt die Ausführung dieses Code, wenn die main () -Funktionen im Code implementiert werden. Alle anderen verwandten Funktionen werden erst ausgeführt, nachdem sie aus der Haupt- () -Funktion aufgerufen wurden. In dieser Main () -Funktion haben wir also eine Zeigervariable des Zeichenstyps mit einem Wert einer langen Zeichenfolge initialisiert. Sie müssen davon ausgehen, dass wir diese Zeichenfolge mit der Einreichung in einer Datei speichern müssen. Dann wurden zwei ganzzahlige Variablen, "Datei" und "R", deklariert. In der Variablen "Datei" erhalten wir einen Wert mit der Funktion "Erstellen" der Einreichung, i.e., Die Variable "Datei" funktioniert wie ein Dateideskriptor.

Die Funktion create () wird verwendet, um eine zufällige Textdatei mit dem Namen „FSYNC) zu erstellen.txt ”im Ordner, in dem wir unsere Codedatei platziert haben oder arbeiten. Diese Funktion nimmt ein optionales Argument an, das den Zugriffsmodus einer zu erstellenden Datei definiert. Wir verwenden zwei Optionen, S_IRUSR und S_IWUSR, um in Zukunft auf die Datei zuzugreifen.e., Wir können darauf zugreifen, um zu lesen und zu schreiben. Wenn die Datei erfolgreich erstellt würde, würde der Deskriptor "Datei" im Gegenzug "1" erhalten. ansonsten 0 oder einen anderen negativen Wert.

Die in diesem Skript verwendete Anweisung "Wenn" wird überprüft, ob der Deskriptor "Datei" einen anderen Wert als "-1" hat. In diesem Fall bedeutet dies, dass die Datei nicht erfolgreich erstellt wird, und die PERROR -Methode -Anweisung wird verwendet, um eine Funktion create () -Funktion auszulegen. Die Anweisung aus der Beendigung (1) wäre hier, um das Programm zu beenden, wenn die Funktion creat () nicht ordnungsgemäß funktioniert. In ähnlicher Weise wird die Funktion write () von c verwendet, um den Zeichenstringzeiger "A" in eine Datei "FSYNC" zu schreiben.txt ”mit dem Deskriptor" Datei ".

Zu diesem Zweck haben wir die Länge einer Variablen übergeben, die mit der Verwendung der Strlen (a) -Funktion als drittes Argument, des "Datei" -Deskriptors als erstes Argument und variabler Zeiger "A" als zweites Argument übergeben werden soll. Wenn der Wert „A“ in der Datei erfolgreich geschrieben wurde, würde die Funktion write () einen nichtnegativen Wert an die Variable „R“ zurückgeben, einschließlich „-1“, einschließlich „-1“. Wenn ein negativer Wert an die Variable „R“ übergeben würde. Die Funktion FSYNC () verwendet die Dateideskriptor -Datei "Datei", um das Speichergerät über den Status eines „FSYNC“ zu informieren.txt ”Datei, ich.e., leer, gefüllt oder aktualisiert.

int main (int argc, char *argv [])
char *a = "Willkommen bei Linux und C -Programmierung ...";
int Datei, r;
Datei = creat ("FSYNC.txt ", s_iwusr | s_irusr);
if (Datei < -1)
perror ("creat ()");
Ausgang (1);
r = write (Datei, a, strlen (a));
if (r < -1)
perror ("write ()");
Ausgang (1);
FSYNC (Datei);
Datei schließen);
Rückkehr 0;

Nach der Dateikompilierung mit dem "GCC" -Tool und der Ausführung mit dem "./A.Out ”Befehlsdienstprogramm, wir haben die Daten erfolgreich zu einer Textdatei hinzugefügt, ich.e., gemäß der folgenden Ausgabe.

Abschluss

Das ist es! Nachdem wir den gesamten Leitfaden durchgemacht haben, gehen wir davon aus.