Table des matières
Opérations de lecture et d'écriture sur les fichiers
Quelques autres fonctions d'entrée et de sortie
Lorsque nous ouvrons le dossier où le logiciel est installé sur l'ordinateur, nous constaterons qu'il contient de nombreux autres fichiers en plus du programme exécutable, et c'est pourquoi ces logiciels peuvent sauvegarder vos données d'utilisation, alors que les programmes que nous écrivons nous-mêmes ne le peuvent pas. enregistrer des données. Cet article explique comment utiliser le langage C pour manipuler des fichiers.
Les fichiers sont divisés en fichiers programme et fichiers de données et nous opérons principalement sur des fichiers de données.
Grâce aux fichiers, nous pouvons stocker les données directement sur le disque dur de l'ordinateur, obtenant ainsi la persistance des données. Pour utiliser un fichier, celui-ci doit d'abord être ouvert. Ci-dessous se trouve notre première fonction fopen.
fouvert
FILE * fopen ( const char * nom de fichier, const char * mode );
La fonction de cette fonction est d'ouvrir le fichier spécifié dans le mode que nous avons spécifié.
La valeur de retour est un pointeur vers la zone d'informations du fichier, qui peut être simplement compris comme un pointeur vers le fichier .
nom de fichier : le premier paramètre nécessite l'adresse et le nom du fichier que nous transmettons (y compris le suffixe du fichier) ;
La position relative peut être transmise
int main()
{
//这里的"data.txt"表示的是在当前程序所在的文件夹里面寻找名为data后缀为.txt的文件
FILE* p = fopen("data.txt", "r");
//这里的"..\\data.txt"表示的是在当前程序所在的文件夹的上一级文件夹里面寻找名为data后缀为.txt的文件;..\\表示上一级文件夹.\\表示当前文件夹
FILE* pf = fopen("..\\data.txt", "r");
fcloce(p);
fcloce(pf);
p = NULL;
pf = NULL;
return 0;
}
La localisation absolue peut également être transmise
FILE* p = fopen("D:\\c&cpp\\c\\data.txt", "w");
fclose(p);
p = NULL;
mode : Le deuxième paramètre nous oblige à indiquer dans quel mode nous devons ouvrir ce fichier.
Comment utiliser le fichier | signification | Si le fichier spécifié n'existe pas |
---|---|---|
"r" (lecture seule) | Pour saisir des données, ouvrez un fichier texte existant | se tromper |
"w" (écriture uniquement) | Pour sortir des données, ouvrez un fichier texte | créer un nouveau fichier |
« a » (ajouter) | Ajouter des données à la fin du fichier texte | créer un nouveau fichier |
"rb" (lecture seule) | Pour saisir des données, ouvrez un fichier binaire | se tromper |
"wb" (écriture uniquement) | Pour sortir des données, ouvrez un fichier binaire | créer un nouveau fichier |
« ab » (ajouter) | ajouter des données à la fin d'un fichier binaire | créer un nouveau fichier |
"r+" (lecture et écriture) | Ouvrir un fichier texte pour lire et écrire | se tromper |
"w+" (lecture et écriture) | Créer un nouveau fichier pour la lecture et l'écriture | créer un nouveau fichier |
"a+" (lire et écrire) | ouvrir un fichier | Lire et écrire à la fin du fichier pour créer un nouveau fichier |
"rb+" (lecture et écriture) | Ouvrir un fichier binaire en lecture et en écriture | se tromper |
"wb+" (lecture et écriture) | Créer un nouveau fichier binaire pour la lecture et l'écriture | créer un nouveau fichier |
"ab+" (lecture et écriture) | Ouvrir un fichier binaire en lecture et écriture à la fin du fichier | créer un nouveau fichier |
Maintenant que nous avons appris à ouvrir un fichier, c'est en fait la même chose que le développement de mémoire dynamique. Le fichier que nous ouvrons doit être fermé une fois que nous en avons terminé et la variable de pointeur de fichier est vide pour l'empêcher de devenir un pointeur sauvage et de quitter pour notre programme.Dangers cachés. Ce qui suit est une introduction à la fonction de fermeture de fichier : fclose
ffermer
int fclose ( FICHIER * flux );
Sa fonction est de fermer le fichier ouvert.
stream : est une variable de pointeur de fichier
Valeur de retour : S'il est fermé avec succès, il renvoie 0 ; s'il échoue, il renvoie EOF
Si nous voulons lire et écrire des fichiers, nous avons besoin de fgetc, fputc.
Opérations de lecture et d'écriture sur les fichiers
fgetc
int fgetc ( FICHIER * flux );
Il s'agit d'une fonction permettant de lire un fichier. Elle lit un caractère du fichier spécifié et renvoie sa valeur de code ASCII. Si la lecture échoue, elle renvoie EOF.
fputc
int fputc ( caractère int, FILE * stream );
La fonction fonction consiste à écrire un caractère dans le fichier.
caractère : le code ASCII du caractère à écrire ;
stream : le pointeur du fichier à écrire ;
Renvoie EOF si l'écriture échoue.
Quelques autres fonctions d'entrée et de sortie
Fonction | Nom de la fonction | postuler à |
---|---|---|
fonction de saisie de caractères | fgetc | tous les flux d'entrée |
fonction de sortie de caractères | fputc | tous les flux de sortie |
fonction de saisie de ligne de texte | fgets | tous les flux d'entrée |
fonction de sortie de ligne de texte | fputs | tous les flux de sortie |
fonction d'entrée de format | fscanf | tous les flux d'entrée |
fonction de sortie de format | fprintf | tous les flux de sortie |
entrée binaire | peur | document |
sortie binaire | fécrire | document |