IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Aide voir création


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Par défaut Aide voir création
    Etant devenu tres nul car aucun travail depuis 2 ans et donc ne comprennant plus rien...
    J'aimerais vérifier l'existance d'un fichier texte, le créer si il existe pas ou l'ouvrir si il existe avant d'y chercher un mot (1 mot par ligne).
    Si le mot est trouvé on affiche celui de la ligne du dessous sinon on l'ajoute en fin de fichier.
    On prendra le mot rechercher dans la variable "str".


    Ex :
    Le fichier contient :

    test
    test1
    test2


    Si str vaut test, on affiche test1, si str vaut test3 on ajoute à la fin.

    Si le faire est trop long, pourriez vous me trouver des morceaux de code que je pourrais utiliser ou les commandes a utiliser avec leur explication (utlisation et fonction).

    Merci beaucoup.

  2. #2
    Membre émérite

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Par défaut
    Ce n'est pas très difficile, tu as toutes les infos pour gérer les fichiers dans la http://c.developpez.com/faq/cpp/?page=fichiers

    Ici tu n'as qu'à lire tout le fichier ligne par ligne (exemple dans la FAQ) et dès que tu trouves ton mot tu lit la ligne en-dessous et tu t'arrêtes.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Par défaut
    Oué mais je comprend pas trop...
    C'est la meme commande pour ouvrir et lire ?
    C'est quoi qui dit "ligne X", comment dire "ligne X + 1" ?

    #include <fstream>

    void AjouterUneLigne()
    {
    // std::ios_base::out est automatiquement ajouté par le
    // constructeur de std::ofstream
    std::ofstream file( "fichier.txt", std::ios_base::app );
    file << "Une ligne\n";
    }

    int main()
    {
    // création du fichier et écriture d'une ligne
    AjouterUneLigne();
    // ouverture du fichier existant et rajout d'une nouvelle ligne
    AjouterUneLigne();
    // "fichier.txt" contient 2 lignes
    }
    Comment je fais pour mettre tout dans le mainn sans utiliser le void ?

  4. #4
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Pour lire le fichier ligne par ligne:
    http://c.developpez.com/faq/cpp/?pag...ture_par_ligne

    Ce qui va grandement t'avancer, non?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Par défaut
    Bon, ça donne ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
            std::ifstream fichier( "dials.txt" );
            if ( fichier )
            {
                    std::string ligne;
                    while ( std::getline( fichier, ligne ) )
                    {
                            if(str == ligne)
                            {
                            Form1->DemoBot.BotCommand.SendMsg(lpBuddyAccount, ligne+1, "");
                            }
                            else
                            {
                            std::ofstream file( "dials.txt", std::ios_base::app );
                            file << (lpMsg+String("\n")).c_str();
                            }
     
                    }
            }
    Mais ça marche pas top :

    [C++ Error] Unit1.cpp(70): E2094 'operator==' not implemented in type 'AnsiString' for arguments of type '_STL::string'
    [C++ Error] Unit1.cpp(72): E2094 'operator+' not implemented in type '_STL::string' for arguments of type 'int'

  6. #6
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    OULA ...
    Attend, t'as plein de variables dont on ne voit pas l'initialisation...
    C'est un bon début, mais y'a plein de trucs que nous dit pas là...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide pour création requête
    Par in dans le forum Oracle
    Réponses: 7
    Dernier message: 19/06/2006, 13h55
  2. developpeur c++ demande aide pour création d'un pieton 3D
    Par fumidu dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 29/05/2006, 17h51
  3. Outil d'aide à la création d'une DTD
    Par Elmilouse dans le forum Valider
    Réponses: 1
    Dernier message: 28/02/2006, 01h56
  4. [MySQL] Aide à la création d'une requête
    Par tom06440 dans le forum Requêtes
    Réponses: 6
    Dernier message: 19/10/2005, 22h05
  5. aide sur création d'un composant
    Par laetus dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/07/2004, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo