Appel du système FSYNC dans C

Appel du système FSYNC dans C

«Vous avez peut-être beaucoup entendu parler de la structure de base du langage C et de sa simplicité car la plupart des développeurs ont tendance à l'apprendre avant d'apprendre une autre langue. Il a un appel ou une fonction FSYNC () Système qui rince (passe) toutes les mises à jour du disque pour refléter les modifications apportées à un fichier. De plus, la fonction FSYNC arrête le processus de rince. Cet article démontrera le fonctionnement de la fonction fsync () dans la langue C.

Tout système dans lequel vous avez travaillé ou installé votre environnement de codage doit être mis à niveau et mis à jour afin que les nouvelles erreurs puissent être bien rencontrées, et nous pouvons éviter tout inconvénient. Par conséquent, il est recommandé de mettre à jour votre système, en particulier le système Linux, avant et après toutes les installations et configurations. Ainsi, l'utilitaire «APT» est le meilleur à utiliser pour mettre à jour avec les droits «sudo» sur la console. S'il demande votre autorisation en demandant un mot de passe, vous devez le fournir. En quelques secondes, votre système sera mis à jour."

$ sudo apt-get updat

De la même manière, vous devez mettre à niveau votre système Linux avec l'utilitaire recommandé I.e. «APT» avec les droits «sudo». Le processus de mise à niveau peut prendre un peu plus de temps que le processus de mise à jour.

Ce processus peut nécessiter une confirmation. Vous pouvez l'appeler une étape sûre où vous recevrez des informations concernant l'espace que ce processus nécessite à partir de votre système. Si autant d'espace ne vous dérange pas de procéder à cette installation, utilisez la clé «Y» pour la confirmation. Après cela, votre système sera mis à niveau avec de nouvelles fonctionnalités.

Une fois que toutes les conditions préalables nécessaires sont installées et configurées dans notre système, il est également nécessaire de configurer le compilateur de C. Utilisez la commande présentée dans la console pour le faire.

Exemple

Le concept d'un fichier est très connu parmi les développeurs, surtout lorsque vous avez fait beaucoup de travail sur les langages de programmation orientés objet, certains langages structurels et les langages de procédure simples. Cet exemple C serait une grande aide à tout développeur parce que la langue C est le langage d'apprentissage le plus élémentaire pour chaque étudiant en programmation, et ils préfèrent l'apprendre. Par conséquent, nous entamons cet exemple avec les bibliothèques C de base qui doivent être importées dans ce code pour utiliser différentes fonctions C ainsi que certaines fonctions de dépôt.

Les deux premières bibliothèques sont les bibliothèques standard pour utiliser les fonctions «entrée» et «sortie», mutable et flux dans les codes. En d'autres termes, ces deux bibliothèques nous aident à créer un flux d'entrée de l'extérieur ou de l'intérieur et génèrent facilement des sorties. Il vient le «fcntl.H ”en-tête de C. C'est l'en-tête principal que nous ne pouvons pas manquer lorsque nous voulons travailler sur des fichiers de notre système.

Après cela, l'utilisation de «Sys / Types.h ”et« sys / stat.Les bibliothèques d'en-tête H ”nous permet d'utiliser différents types de données et statistiques dans le code, i.e., Personnages, pointeurs, fonctions de sortie (), etc. Parallèlement à cela, certains types de classement peuvent également être utilisés en utilisant les trois bibliothèques susmentionnées, je.e., Lire et écrire des opérations. Enfin, nous avons une chaîne.H un Unistd.En-tête H qui est principalement utilisé pour utiliser la chaîne mutable et les fonctions et Unicode standard dans le script.

#inclure
#inclure
#inclure
#inclure
#inclure
#inclure
#inclure

Maintenant, l'exécution de ce code démarre lorsque les fonctions principales () sont implémentées dans le code. Toutes les autres fonctions connexes ne sont exécutées qu'après avoir été appelées à partir de la fonction principale (). Ainsi, dans cette fonction Main (), nous avons initialisé une variable de pointeur de type de caractère avec une valeur d'une longue chaîne de caractères. Vous devez supposer que nous devons enregistrer cette chaîne dans un fichier à l'aide du dossier. Ensuite, deux variables entières, «File» et «R» ont été déclarés. Dans la variable «Fichier», nous obtiendrons une valeur en utilisant la fonction «Créer» du classement, je.e., La variable «Fichier» fonctionne comme un descripteur de fichier.

La fonction create () serait utilisée pour créer un fichier texte aléatoire nommé «FSYNC.txt »dans le dossier où nous avons placé notre fichier de code ou nous travaillons. Cette fonction prend un argument facultatif qui définit le mode d'accès d'un fichier à créer. Nous utilisons deux options, S_irusr et S_IWUSR, pour accéder au fichier à l'avenir, je.e., Nous pouvons y accéder pour lire et écrire. Si le fichier était créé avec succès, le descripteur «Fichier» obtiendrait «1» en retour; Sinon, 0 ou toute autre valeur négative.

L'instruction «IF» qui a été utilisée dans ce script vérifie si le descripteur «Fichier» a obtenu une valeur négative autre que «-1». Si c'est le cas, cela signifie que le fichier n'est pas créé avec succès et que l'instruction Perror Method est utilisée pour lancer une exception de la fonction create (). L'énoncé de sortie (1) serait là pour mettre fin au programme si la fonction CREAT () ne fonctionne pas correctement. De même, la fonction écrite () de C est utilisée pour écrire le pointeur de chaîne de caractères «A» à un fichier «FSYNC.txt "à l'aide du descripteur" fichier ".

Pour cela, nous avons passé la longueur d'une variable à passer par l'utilisation de la fonction Strlen (A) comme troisième argument, le descripteur «fichier» comme premier argument et le pointeur variable «A» comme deuxième argument. Si la valeur «A» était écrite avec succès dans le fichier, la fonction écrite () renvoie une valeur non négative à la variable «R», y compris «-1». Si une valeur négative serait transmise à la variable «R», l'instruction «If» jetterait à nouveau une erreur de fonction «écrire ()» en utilisant la fonction «Perror». La fonction fsync () utilise le «fichier» descripteur de fichier pour informer le périphérique de stockage sur l'état d'un «FSYNC.Fichier txt ”, i.e., vide, rempli ou mis à jour.

int main (int argc, char * argv [])
char * a = "bienvenue sur Linux et C programmation…";
Fichier int, R;
file = create ("fSync.txt ", s_iwusr | s_irusr);
if (fichier < -1)
Perror ("Creat ()");
sortie (1);
r = write (fichier, a, strlen (a));
si (r < -1)
perror ("write ()");
sortie (1);
fSync (fichier);
Fermer le fichier);
retour 0;

Après la compilation de fichiers avec l'outil «GCC» et l'exécution avec le «./un.Utilitaire de commande out ”, nous avons réussi à ajouter les données à un fichier texte, i.e., Selon la sortie ci-dessous.

Conclusion

C'est ça! Après avoir parcouru l'ensemble du guide, nous supposons que vous avez maintenant toutes les connaissances sur la fonction fsync () de C sans aucun doute.