Comment faire pour enregistrer un vecteur à un fichier dans C ++

La classe de vecteur dans Standard Template Library de la C sert comme une alternative à la simple tableau. Ils sont presque aussi vite que les tableaux standard, mais ils contiennent des fonctions efficaces pour ajouter et supprimer des éléments du tableau et sont redimensionnées dynamiquement en cas de besoin. Un membre utile de la classe vecteur est l'itérateur, ce qui simplifie grandement le processus d'itération à travers tous les éléments stockés dans le vecteur en utilisant une boucle pour. L'autre outil utilisé sera l'objet de ofstream dans la bibliothèque fstream, qui vous permettra d'utiliser de la simple "lt; lt;" opérateur pour la sortie de fichier.

Choses que vous devez

  • Ordinateur
    Le compilateur C de
    éditeur de texte ou C ++ IDE

Instructions

  1. Créer un fichier C ++ de nom "vectorToFile.cpp". Pour cette tâche, trois bibliothèques seront nécessaires: fstream fournit des fonctionnalités pour le fichier I / O, iostream fournit des fonctionnalités pour les I / O à la norme et de sortie, qui sera réacheminé à partir de la console vers un fichier dans cette activité, et le vecteur fournit la classe de vecteur. Donc, commencer avec les déclarations suivantes:

    #include
    #include
    #include
    using namespace std;




  2. Définir la classe VectorToFile. Cette classe sera un peu simpliste. Il tiendra un vecteur et une fonction pour enregistrer le vecteur d'un fichier.

    classe VectorToFile {
    publique:
    &# 9 vecteur v
    GO

    &# 9-VectorToFile () {
    &# 9-}
    GO

    &# 9-vide saveToFile () {
    &# 9-}
    GO
    };




  3. Ecrire la méthode saveToFile (). Ajoutez les lignes de code suivantes, dans l'ordre, la méthode saveToFile (). D'abord, obtenir le nom du fichier de l'utilisateur en utilisant les commandes cin et cout standard, comme ceci:

    &# 9-char filename [20]
    GO
    &# 9-cout lt; lt; "Entrez le nom du fichier à utiliser: "
    GO
    &# 9-cin gt; gt; nom de fichier
    GO

    Ensuite, initialiser le ofstream, ou un flux de fichier de sortie, avec le nom de fichier et "ios :: out". Cela informer ofstream être ouvert uniquement pour la sortie. Autres options possibles seraient "ios :: app", Qui charge le flux d'ajouter des données plutôt que de l'écraser et "IOS: binaires", Qui charge le flux de sortie en binaire plutôt que du texte.

    &# 9-ofstream vectorFile (nom de fichier, ios :: out)
    GO

    Enfin, parcourir le tableau, en utilisant l'objet iterator de votre vecteur.

    &# 9-std :: vector:: Iterator i
    GO
    &# 9-for (i = v.begin () - i lt; v.end () - ++ i) {
    &# 9-&# 9-vectorFile lt; lt; * I
    GO
    &# 9-&# 9-vectorFile lt; lt; endl
    GO
    &# 9-}

  4. Créer une fonction principale pour tester la classe. En dehors de la classe, déclarer la fonction principale comme suit:

    int main () {
    &# 9-VectorToFile vtf
    GO
    &# 9-vtf.v.push_back (121)
    GO
    &# 9-vtf.v.push_back (144)
    GO
    &# 9-vtf.v.push_back (653)
    GO
    &# 9-
    &# 9-vtf.saveToFile ()
    GO

    }
    GO

    Compiler et exécuter votre nouveau programme en C ++. Saisissez un nom de fichier lorsqu'on lui a demandé.

» » » » Comment faire pour enregistrer un vecteur à un fichier dans C ++