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 :

[débutant(e)] lire un fichier texte et doc de fonctions


Sujet :

C++

  1. #1
    Membre actif Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    Points : 207
    Points
    207
    Par défaut [débutant(e)] lire un fichier texte et doc de fonctions
    Bonjour,


    je suis développeur php et honte à moi je n'ai jamais fais de c/c++.
    Donc je m'y mets.
    Je me rends compte que ca ressemble beaucoup à php au niveau des noms de fonctions et de la syntaxe du code.

    Voici mes questions :
    Y-a-il un site à l'instar de php.net qui liste les fonctions C++ ?
    Avez vous un site potable consacré à C++ .

    Je n'arrive pas a déclarer de variable de type string

    voici un code pour lire un fichier (ca marche) est ce que le code est propre ?

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    // bibliotheques
     
    #include <iostream>
    #include <string>
    #include <stdio.h>
     
    using namespace std;
     
     
    void ReadFile()
    {
    	FILE* file;
    	char lettre;
     
    	file = fopen("pouet.txt","r");
     
    	while(!feof(file))
    	{
    		//cout << fgetc(file);
    		lettre = fgetc(file);
    		cout << lettre;
     
    	}
     
    	fclose(file);
    }
     
     
    void main()
    {
    	ReadFile();
    }
    merci

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Bonjour,
    Un bon site pour la doc est http://www.cppreference.com mais il ne montre pas tout (principalement les streams).

    Par contre, ton code, c'est plus du C que du C++: En C++, on n'utilise plus les fxxxxx() pour accéder aux fichiers.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Points : 1 174
    Points
    1 174
    Par défaut
    première question, tu veux faire du C ou du C++? Est-ce que tu vois les différences entre les deux? Comme tu as posté dans le forum C++, on va dire que c'est ce que tu veux faire.

    Citation Envoyé par pimpmyride Voir le message
    Je me rends compte que ca ressemble beaucoup à php au niveau des noms de fonctions et de la syntaxe du code.
    la syntaxe ressemble à celle du C, qui est la base du C++, mais c'est tout.

    Y-a-il un site à l'instar de php.net qui liste les fonctions C++ ?
    Avez vous un site potable consacré à C++
    commence par lire la FAQ C++ de ce site.

    Je n'arrive pas a déclarer de variable de type string
    voir FAQ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include <string>
    #include <iostream>
     
    int main()
    {
       std::string maString;
     
       maString = "une string";
     
       std::cout << maString << std::endl;
     
       return 0;
    }
    voici un code pour lire un fichier (ca marche) est ce que le code est propre ?
    c'est du code C, pas du C++. Voir la FAQ C++ pour le code correct avec fstream et getline.

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Le code que tu fournis est un horrible mélange de C et de C++

    Entre autre:
    • #include <iostream> et #include <string> sont des en-têtes C++ alors que
    • #include <stdio.h> est une en-tête C
    • using namespace std; et cout << lettre; sont strictement C++ mais
    • FILE* file; , file = fopen("pouet.txt","r"); et lettre = fgetc(file); sont des instructions C

    Enfin, il faut se méfier du while(!feof(fichier))

    En C, ton code devrait être
    Code C : 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
    19
    20
    21
    22
    23
    24
    25
     
    #include <stdio.h>
    void ReadFile()
    {
        FILE* file;
        char lettre;
        file = fopen("pouet.txt","r");
        while(!feof(file))
        {
            lettre = fgetc(file);
            printf("%c",lettre);
        }
        fclose(file);
    }
     
    /* !!! main est une fonction qui renvoie d'office un int:
     *  -0 si réussite
     *  -autre chose si échec 
     *(linux fait la différence entre échec et avertissement ;) 
     */
    int main()
    {
        ReadFile();
        return 0;
    }
    En C++, et pour rester identique, le code prendrait la forme de
    Code C++ : 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
     
    #include <iostream>
    #include <fstream>
    using namespace std; /*facultatif */
    void ReadFile()
    {
        ifstream ifs("poet.txt");
        char c;
        while(ifs>>c)
            cout<< c;
    }
    int main()
    {
        ReadFile();
        return 0;
    }
    [EDIT]j'en oublie le principal:
    tu trouvera sur ce site un tas de cours et la FAQ C++ (il y a aussi la FAQ C) qui répondront à la plupart de tes questions

  5. #5
    Membre actif Avatar de pimpmyride
    Inscrit en
    Décembre 2005
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 321
    Points : 207
    Points
    207
    Par défaut
    ok merci pour les réponses.
    Vous m'avez éclairer sur la différence entre c et c++, j'avais un peu du mal a voir les différences etc... je vais potasser les docs

  6. #6
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Ce code C n'est pas bon non plus.
    Il y a le même problème de détection de fin de fichier qu'en c++ (le contraire en fait) -> "while (read(f)) {...}"

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

Discussions similaires

  1. [Débutant] Comment lire un fichier texte de chiffres ?
    Par Bibifloch dans le forum Débuter
    Réponses: 3
    Dernier message: 29/09/2007, 21h29
  2. [débutant]Perl lire un fichier texte
    Par Ralfman68 dans le forum Langage
    Réponses: 5
    Dernier message: 06/06/2007, 20h28
  3. [Débutant] Lire un fichier texte
    Par marcm dans le forum Pascal
    Réponses: 2
    Dernier message: 05/06/2007, 14h51
  4. Réponses: 1
    Dernier message: 24/11/2004, 16h54
  5. Réponses: 2
    Dernier message: 26/05/2004, 17h53

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