Bibliothèque standard C++ <cstdio>
<cstdio>Il s'agit d'un fichier d'en-tête de la bibliothèque standard C++. Il contient l'enveloppe C++ de la bibliothèque d'E/S standard C et est principalement utilisé pour les opérations d'entrée et de sortie de fichiers.
<cstdio>La bibliothèque définit un ensemble de fonctions pour effectuer des opérations d'entrée et de sortie. Ces fonctions peuvent être utilisées pour lire et écrire des fichiers et la console.
Syntaxe
Lors de l'utilisation<cstdio>Avant d'utiliser les fonctions de la bibliothèque, vous devez inclure ce fichier d'en-tête en haut du programme C++ :
#include <cstdio>
Fonctions courantes
<cstdio>La bibliothèque contient de nombreuses fonctions d'E/S de fichiers. Voici quelques fonctions couramment utilisées :
fopen: Ouvrir un fichier.fclose: Fermer un fichier.fread: Lire des données depuis un fichier.fwrite: Écrire des données dans un fichier.fprintf: Écrire une sortie formatée dans un fichier.fscanf: Lire une entrée formatée depuis un fichier.fgetc: Lire un caractère depuis un fichier.fputc: Écrire un caractère dans un fichier.fgets: Lire une ligne depuis un fichier.fputs: Écrire une ligne dans un fichier.
Exemple
1. Ouvrir et fermer des fichiers :
Exemple
int main() {
FILE *file = fopen("example.txt", "w"); // Ouvrir le fichier en écriture
if (file == NULL) {
perror("Error opening file");
return 1;
}
fclose(file); // Fermer le fichier
return 0;
}
2. Écrire des données dans un fichier :
Exemple
int main() {
FILE *file = fopen("example.txt", "w");
if (file == NULL) {
perror("Error opening file");
return 1;
}
fprintf(file, "Hello, World!n");
fclose(file);
return 0;
}
A écrit "Hello, World!" dans le fichier "example.txt".
3. Lire des données depuis un fichier :
Exemple
#include <iostream>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
perror("Error opening file");
return 1;
}
char buffer[100];
while (fgets(buffer, 100, file) != NULL) {
std::cout << buffer;
}
fclose(file);
return 0;
}
Lire depuis le fichier "example.txt" et afficher "Hello, World!".
4. Utilisez fscanf et fprintf pour l'entrée et la sortie formatées:
Exemple
int main() {
FILE *file = fopen("data.txt", "w");
if (file == NULL) {
perror("Error opening file");
return 1;
}
fprintf(file, "%d %fn", 42, 3.14159);
fclose(file);
file = fopen("data.txt", "r");
if (file == NULL) {
perror("Error opening file");
return 1;
}
int number;
float pi;
fscanf(file, "%d %f", &number, &pi);
fclose(file);
std::printf("Nombre: %d, Pi: %fn", number, pi);
return 0;
}
Résultat de sortie :Number: 42, Pi: 3.141590
fopen et fclose
Utilisé pour ouvrir et fermer des fichiers.
Exemple
int main() {
FILE* file = fopen("example.txt", "r");
if (file) {
// Opérations sur les fichiers
fclose(file);
} else {
// Gérer les erreurs
}
return 0;
}
fread et fwrite
Utilisé pour lire et écrire des données depuis et vers des fichiers.
Exemple
int main() {
FILE* file = fopen("example.bin", "wb");
if (file) {
int data = 12345;
fwrite(&data, sizeof(data), 1, file);
fclose(file);
}
return 0;
}
fseek et ftell
Utilisé pour déplacer le pointeur de fichier dans un fichier et obtenir la position du pointeur de fichier.
Exemple
int main() {
FILE* file = fopen("example.txt", "r");
if (file) {
fseek(file, 0, SEEK_END); // Se déplacer à la fin du fichier
long size = ftell(file); // Obtenir la taille du fichier
fclose(file);
}
return 0;
}
fflush
Vider le flux de fichier pour écrire les données du tampon dans le fichier.
Exemple
int main() {
FILE* file = fopen("example.txt", "w");
if (file) {
fputs("Hello, World!", file);
fflush(file); // S'assurer que les données sont immédiatement écrites dans le fichier
fclose(file);
}
return 0;
}
printf et fprintf
Utilisé pour la sortie formatée vers la sortie standard ou un fichier.
Exemple
int main() {
int value = 42;
printf("Value: %d\n", value); // Sortie vers la sortie standard
FILE* file = fopen("output.txt", "w");
if (file) {
fprintf(file, "Value: %d\n", value); // Sortie vers un fichier
fclose(file);
}
return 0;
}
scanf et fscanf
Utilisé pour la saisie formatée depuis l'entrée standard ou un fichier.
Exemple
int main() {
int value;
scanf("%d", &value); // Lire depuis l'entrée standard
FILE* file = fopen("input.txt", "r");
if (file) {
fscanf(file, "%d", &value); // Lire depuis un fichier
fclose(file);
}
return 0;
}
sprintf et sscanf
Utilisé pour la sortie formatée vers une chaîne et la lecture depuis une chaîne.
Exemple
int main() {
char buffer[50];
int value = 42;
sprintf(buffer, "Value: %d", value); // Sortie vers une chaîne
int readValue;
sscanf(buffer, "Value: %d", &readValue); // Lire depuis une chaîne
return 0;
}
fgets et fputs
Utilisé pour lire une chaîne depuis un fichier et écrire une chaîne dans un fichier.
Exemple
int main() {
FILE* file = fopen("example.txt", "r");
if (file) {
char buffer[100];
if (fgets(buffer, sizeof(buffer), file)) {
// Lecture réussie
}
fclose(file);
}
file = fopen("example.txt", "w");
if (file) {
fputs("Hello, World!\n", file); // Écrire une chaîne dans un fichier
fclose(file);
}
return 0;
}
getc et putc
Utilisé pour lire des caractères depuis un fichier et écrire des caractères dans un fichier.
Exemple
int main() {
FILE* file = fopen("example.txt", "r");
if (file) {
int c = getc(file); // Lire un caractère
fclose(file);
}
file = fopen("example.txt", "w");
if (file) {
putc('A', file); // Écrire un caractère
fclose(file);
}
return 0;
}
feof et ferror
Utilisé pour détecter la fin de fichier et les erreurs de fichier.
Exemple
#include <cstdio>
int main() {
FILE* file = fopen("example.txt", "r");
if (file) {
while (!feof(file)) {
int c = getc(file);
if (ferror(file)) {
// Gérer les erreurs
break;
}
// Traiter le caractère
}
fclose(file);
}
return 0;
}
EOF
Indique l'indicateur de fin de fichier.
Exemple
int main() {
FILE* file = fopen("example.txt", "r");
if (file) {
int c;
while ((c = getc(file)) != EOF) {
// Traiter le caractère
}
fclose(file);
}
return 0;
}
NULL
Représente un pointeur nul.
Exemple
int main() {
FILE* file = fopen("example.txt", "r");
if (file == NULL) {
// Gérer l'erreur d'ouverture de fichier
} else {
fclose(file);
}
return 0;
}
Notes
- Utilisation
<cstdio>Lors de l'utilisation de la bibliothèque, vous devez vous assurer que l'ouverture et la fermeture des fichiers sont correctement gérées afin d'éviter les fuites de ressources. - Lors de l'utilisation
fopenLors de son utilisation, vous devez fournir le chemin de fichier et le mode corrects. - Utilisation
fprintfetfscanfLors de son utilisation, la chaîne de format doit correspondre aux types des variables.