Utilisation des fichiers dans C ++. partie 1 – Библиотека fstream.




tête fstream Il fournit la fonctionnalité de lecture des données à partir d'un fichier et écrire dans le fichier. En général, il est très similaire à l'en-tête iostream, qui travaille avec la console, parce que la console est également un fichier. Par conséquent, toutes les opérations de base sont les mêmes, pour les petites différences, comme dans le sujet précédent sur iostream.

Les opérations les plus fréquentes suivantes:

  1. Redirection Opérateurs O – << et >>
  2. Méthodes de lignes d'enregistrement et de lecture getline() et obtenir() c mettre()
  3. Streaming méthodes de lecture et d'écriture écrire() et lis()
  4. Méthode publique création et la fermeture de fichiers ouvrir() et Fermer()
  5. Les méthodes de vérification si le fichier est ouvert est ouvert() et si la fin de fichier est atteinte eof()
  6. Réglage de la sortie formatée pour >> par largeur() et précision()
  7. opération de positionnement tellg(), tellp() et seekg(), seekp()

Ce n'est pas toutes les possibilités, qui fournit la bibliothèque fstream. Tenez compte de tous maintenant, nous ne sommes pas, puisque leur champ d'application est assez étroite. Connaisseur ci-dessus. Commencez par lire la classe.

classe ifstream

Il offre la possibilité de lire les fichiers. Ouvrez le fichier de deux façons: méthode d'appel ouvrir() ou en entrant le chemin d'accès dans le constructeur. Vous devez préparer un fichier texte, avant, commencez à taper le code. Sur le disque d, créez un dossier nommé 1 et, créez un fichier avec l'extension txt – “файл.txt”.

Ouverture d'un fichier dans le constructeur ressemble à ceci:

Nous demandons donc d'ouvrir un fichier nommé fichier.txt txt, qui est dans le dossier avec le nom 1, et le dossier se trouve sur le lecteur d.

Utilisation de la méthode ouverte() confortablement, si le programmeur ne veut pas être lié directement à un fichier. Tout à coup, vous avez besoin d'une propriété de classe ou variable globale, bien, puis ouvrez le fichier déjà. Si vous avez besoin d'ouvrir un fichier dans une certaine fonction, de travailler avec lui et de fermer, vous pouvez définir le chemin vers le fichier directement dans le constructeur. En général, en fonction de la situation.

d'ouverture du fichier, souhaitable de prescrire par: s'il a ouvert? Comme il y a un certain nombre de raisons, sur lequel le fichier ne peut pas être ouvert, et nous ne voyons pas. par exemple, fichier avec le nom spécifié n'est pas dans le dossier ou le chemin prescrit n'est pas valide. Vous pouvez aller de deux façons: vérifier le fichier dans une variable expression logique (application de l'opérateur “!”, par exemple) ou d'utiliser la méthode est ouvert() :

Donc, tout va bien fonctionner et que le fichier sera ouvert:

библиотека fstream, travailler avec des fichiers en c ++, Programmation pour les débutantsMaintenant, essayez de saisir le nom du dossier n'est pas 1, et 2 ifstream fichier ("ré:\\<span style ="Couleur: #FF0000;"><fort>2</fort>\\файл.txt”); et redémarrez le programme. Étant donné que le nom du dossier spécifié, nous n'avons pas créé, le fichier, naturellement, Il ne peut pas être ouvert:

библиотека fstream, travailler avec des fichiers en c ++, Programmation pour les débutants

Les contrôles de second mode de réalisation utilisant le procédé est ouvert() :

méthode est ouvert() retour 1, Si le fichier est trouvé et ouvert avec succès. sinon retourne 0 et le code de travail prescrit dans le bloc autre.

Si le fichier est pas ouvert – souhaitable de gérer l'erreur. généralement, si tous le programme de travail associé au fichier, ils écrivent un certain message à la console, et de mettre sur le programme. Lorsque des erreurs graves communes pour revenir à une exécution de code (nombre), qui caractérisera une ou l'autre erreur. Les codes pour chaque type d'erreur l'auteur du programme peut inventer leur propre. L'une des façons de gérer les erreurs dans le programme, nous avons pris en compte dans l'article Exceptions en C ++.

Si le fichier est ouvert avec succès, de celui-ci, vous pouvez lire.

lire l'opérateur >>

Ainsi que dans iostream La lecture peut être organisé par l'opérateur >>, qui indique dans quelle variable sera à lire:

considère réel, chaîne et nombre entier. rangée fin de lecture, s'il y avait un espace ou à la fin de la ligne. Il est à noter, que l'opérateur >> Il a appliqué des fichiers texte. La lecture d'un fichier binaire pour faire le meilleur moyen de la méthode lis().

Soit dit en passant, cette déclaration est tout à fait pratique, si la tâche est de diviser le fichier en mots:

méthodes getline() и obtenir()

La lecture de la chaîne de caractères à la translation du chariot est fait le même que dans iostream par getline(). De plus, il est recommandé d'utiliser la version surchargée de la fonction, si vous lisez une ligne de type chaîne:

Si vous avez besoin de lire dans un tableau de caractères ombles[], non plus obtenir() ou getline() tout comme les méthodes:

Le principe est généralement le même, comme dans les analogues de iostream: Présentée comme une mémoire tampon de paramètres (variable, où la lecture se fera), ou plutôt un pointeur vers un bloc de mémoire (si la variable est déclarée statique: tampon de carbonisation[255] par exemple, il est écrit dans les paramètres &tampon), spécifie le nombre maximal de lisible (dans cet exemple n), afin de ne pas déborder est produit et la sortie des limites de la mémoire tampon et le caractère de séparation selon les besoins, à qui Relecture (Dans cet exemple, l'écart). J'espère que je ne l'ai pas mal sur la bande de roulement des fanatiques du tronc C, si la suie que ces deux fonctions sur 99% interchangeable, et 95% Ils peuvent être remplacés par lis().

méthode lis()

Comme dans l'exemple précédent?

En fait, ici le même résultat – Il est considéré comme un certain nombre de caractères. La seule exception, il est impossible de spécifier le séparateur. lis() utilisé pour l'entrée non formaté. Il est principalement destiné à lire les fichiers binaires. Étant donné que le fichier texte – un cas particulier d'un binaire, cette méthode est tout à fait applicable au fichier texte.

méthode Fermer()

ferme le fichier. Même rien à ajouter. Peut-être la seule remarque – sur, que le fichier, ouvert pour la lecture, ne sera pas fermé par cette méthode habituellement ne devienne pas pire. Situation très rare, lorsqu'il est ouvert pour la lecture se détériore fichier, si vous avez terminé le programme sans fermer le fichier. Ces dommages sont associés principalement avec des appareils non standard tels que les lecteurs de bande bande ou ce que certains flux de artificieux contrôleurs industriels, mais dans le Feng Shui de se rappeler – fichier ouvert doit être fermé. Il est considéré comme une bonne forme.

méthode eof()

Vérifie si la fin de fichier est atteinte. à savoir. s'il est possible de lui pour lire la suite. L'exemple ci-dessus de l'opérateur de mot de correction d'épreuves >> il suffit d'utiliser ce contrôle.

méthode seekg()

Installer la position actuelle à la souhaitée, indique le nombre. Cette méthode est également transmise méthode de positionnement:

  • ios_base::fin – Relevez un nouveau poste à la fin du fichier
  • ios_base::mendier – Relevez un nouveau poste depuis le début du fichier (positionnement absolu)
  • ios_base::cabot – Aller à n octets de la position actuelle dans le fichier (par défaut)

méthode tellg()

Parfois, vous avez besoin d'obtenir des informations sur, comme déjà lu. Cette méthode aidera tellg():

Il retourne une valeur de type int, ce qui montre combien a déjà passé en octets. Il peut être utilisé en tandem avec la méthode seekg(), Pour obtenir la taille du fichier:

À titre d'exemple des méthodes de lecture binaires peuvent être démantelées si classe:

classes d'emballage similaires utiles, s'il y a des problèmes de lecture à partir d'une structure entière binaire.

Vidéos sur le travail avec les fichiers en C ++:

Bulletin de nouvelles leçons sur la programmation:

Utilisation des fichiers dans C ++. partie 1 – Библиотека fstream.
3.5 (70%) 8 votes

5 réflexions sur "Utilisation des fichiers dans C ++. partie 1 – Библиотека fstream.

  1. bonsoir. enfants, Pourquoi ne vous ouvrez pas un fichier. Déjà je l'ai essayé et en voiture et D et C ne sont pas aussi bien ne pas voir le fichier, et c'est tout.

    #comprendre
    #comprendre
    using namespace std;
    int main()
    {
    setlocale(LC_ALL, “rus”);
    fichier ifstream(“ré:\\111.SMS”);
    si (file.is_open()) // appeler la méthode is_open()
    cout << "Все ОК! Le fichier est ouvert!\n n" << endl;
    autre
    {
    cout << "Файл не открыт!\n n" << endl;
    retour -1;
    }
    système("pause");
    retour 0;
    }

  2. Et est-il possible de ne pas prescrire ce lien pour ouvrir() et le mettre dans le processus de mise en œuvre?Par exemple, pour sélectionner le chemin de sauver le programme de traitement des données de résultat?

    1. En fait ouvert() Il faut une chaîne, de sorte que vous pouvez juste créer une ligne distincte et après la manipulation de son remplissage (De prostogo cin, à certains défis) passer le nom de la chaîne en plein air() )
      Je ne l'ai pas, mais en théorie toute la façon dont il devrait fonctionner, important d'aborder un laissez pas tomber clanger)

Laisser un commentaire

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *