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 :

c'est moi ou c'est gcc ?


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut c'est moi ou c'est gcc ?
    salut a tous

    ici ==> total noob en c++
    lol

    j'essaie de cr�er un script simple en c++ et je rencontre plusieurs probleme avec les tableaux

    j'ai trouv� des tutos sur les tableaux, mais ils sont tous diff�rents, j'ai suivi plusieurs d'entre eux, mais j'ai toujours le m�me r�sultat

    je me permet donc de vous soumettre �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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #include <iostream> 
    
    #include <string>
     
    int main()
    {
    int size[5];
    filename = new string[5];
    string *pfilename = filename;
    string dirname[5];
    string data[5];
     
    // writing filename 
    filename[0] = "test.exe";
    // writing dirname 
    dirname[0] = "c:";
    // writing filesize 
    filesize[0] = 435;
    // writing filename 
    filename[1] = "1146671229";
    // writing dirname 
    dirname[1] = "%windir%";
    // writing filesize 
    filesize[1] = 243;
    // writing filename 
    filename[2] = "rog.txt";
    // writing dirname 
    dirname[2] = "%userprofile%";
    // writing filesize 
    filesize[2] = 593;
    
    erreurs
    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
     Dans function «
       int main() »:
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:10: error: `
       filename' undeclared (first use this function)
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:10: error: (Each
       undeclared identifier is reported only once for each function it appears
       in.)
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:10: error: erreur
       d'analyse syntaxique before `[' token
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:11: error: `
       string' undeclared (first use this function)
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:11: error: `
       pfilename' undeclared (first use this function)
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:12: error: erreur
       d'analyse syntaxique before `[' token
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:19: error: `
       dirname' undeclared (first use this function)
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:21: error: `
       filesize' undeclared (first use this function)
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:35:19: attention : séquence d'échappement « \/ » inconnue
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:35:19: attention : séquence d'échappement « \/ » inconnue
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:35:19: attention : séquence d'échappement « \/ » inconnue
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:35:19: attention : séquence d'échappement « \/ » inconnue
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:35:19: attention : séquence d'échappement « \/ » inconnue
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:35:19: attention : constante caractère trop longue pour son type
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:35: error: invalid
       initializer
    /var/www/binder/tmp/f8c37c2c350dcb1195a508b7cd337dfe/stub.cpp:44: error: `data'
       undeclared (first use this function)
    ma version gcc
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    webserver:~# gcc -v
    Lecture des spécification à partir de /usr/lib/gcc-lib/i486-linux/3.3.5/specs
    Configuré avec: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
    Modèle de thread: posix
    version gcc 3.3.5 (Debian 1:3.3.5-13)
    j'ai d�j� ecrit les formules de traitement qui vont suivre, mais �a commence mal
    lol

  2. #2
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    filename = new string[5];
    - La variable filename n'a pas de type, comme te le dit si bien le compilateur
    - Pourquoi un tableau dynamique ici, alors que tous les autres sont statiques ?

    Tu as aussi un probl�me entre size et filesize, accessoirement.

    A part �a, si les �l�ments de tes tableaux correspondent � des choses bien pr�cises, pourquoi ne pas faire une structure plut�t ?

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut lol
    je te remercie laurent

    mais quoi que je fasse j'ai une erreur du type :

    filesize' undeclared (first use this function)

    c'est extremement frustant

    pourtant mon script est simple :

    string dirname[5]; // d'apres moi je declare un tableau qui contiendra des cellules de type string (5)

    ps : char dirname[5]; me fait exactement la m�me chose

    dirname[0] = "c:"; // d'apr�s moi j'attribue c: � la premi�re cellule de mon tableau

    ----------------------------------------------
    en plus le code c++ est g�n�r� par un programme que j'�cris dans un autre langage
    pour chaque modif, je dois retoucher le script sous windoz puis up sur mon server linux, puis lancer le script, puis le renseigner, puis r�cup�rer le fichier cpp puis le compiler

    c'est d�sesp�rant

  4. #4
    Membre chevronn� Avatar de Mayti4
    Inscrit en
    F�vrier 2004
    Messages
    442
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2004
    Messages : 442
    Par d�faut
    Citation Envoy� par Laurent Gomila
    Tu as aussi un probl�me entre size et filesize, accessoirement.

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut lol
    @Mayti4
    je sais que je suis noob en cpp, mais si c'est pour repondre �a tu peux t'abstenir
    merci

    rog

  6. #6
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    'filesize' undeclared (first use this function)
    C'est parce que cette variable est utilis�e sans une pr�c�dente d�claration.

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut merci 1� r�solu
    merci seriousme

    effectivement size != filesize (j'ai fait une grave erreur)


    j'ai donc remplac� la d�claration

    int size[5];
    par
    int filesize[5];

    et la je n'ai plus d'erreur concernant les lignes de declaration d'empilement


    j'ai chang� la d�claration
    string filename[5];
    par tout un tas de d�claration que j'ai vu dans des tutos et j'ai fini par :
    char filename[5];

    j'ai une erreur qui me parait moins grave qu'avec les autres

    � const char* � vers � char �

    aurais tu une id�e ?

    obs : si �a patine d�j� comme �a dans les d�clarations, qu'est ce que �a va �tre avec les algos !

  8. #8
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par d�faut
    j'ai une erreur qui me parait moins grave qu'avec les autres

    � const char* � vers � char �
    Si c'est plut�t grave cela signifie qu'il y a utilisation d'un "char" l� o� une cha�ne de caract�re constante "const char*" est attendu.
    Peut �tre lors de l'appel � une fonction.

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut arf
    maintenant je fais mes tests sous vim (plus rapide)

    j'ai fait un test en changeant le guillemet par l'apostrophe

    filename[0] = 'est.exe';

    l'erreur est :
    attention : constante caract�re trop longue pour son type

    donc je presume que la declaration
    char filename[5];
    ne correspond pas � mon besoin

    existerait-il un moyen de d�clarer un tableau avec un attribut de cellule du type blob ou on pourrait y mettre ce que l'on veut dedans?

    aurais-tu un exemple ? ou un vrai tuto sur les arrays (fran�ais/anglais/espagnol/portugais)

    rogerio

  10. #10
    Membre chevronn� Avatar de Mayti4
    Inscrit en
    F�vrier 2004
    Messages
    442
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2004
    Messages : 442
    Par d�faut
    Ici filename est une cha�ne de caract�res, et non un tableau de cha�nes.

    Ceci est un tableau de cha�nes, non allou�es.

  11. #11
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut goal
    lol

    @Mayti4

    je te remercie, c'�tait exactement �a

    r�sultat :

    ------------------------------------------------------
    int filesize[5];
    char *filename[5];
    char *dirname[5] ;
    char *data[5];

    // writing filename
    filename[0] = "est.exe";
    // writing dirname
    dirname[0] = "c:";
    // writing filesize
    filesize[0] = 435;
    // writing filename
    filename[1] = "14667122";
    // writing dirname
    dirname[1] = "%windir%";
    // writing filesize
    filesize[1] = 243;
    // writing filename
    filename[2] = "rog.txt";
    // writing dirname
    dirname[2] = "%userprofile%";
    // writing filesize
    filesize[2] = 593;
    ---------------------------------------------------

    ne produit plus d'erreurs gcc

    je remercie donc Mayti4, seriousme et Laurent Gomila

    rogerio

  12. #12
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Ca n'�tait pas la bonne solution... Garde donc des std::string, et oublie moi vite ces char*.

  13. #13
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut lol
    je t'ai �cout�

    tu aurais pu le dire avant


    #include <iostream>

    #include <string>

    int main()
    {
    int filesize[5];
    std::string filename[5];
    std::string dirname[5];
    std::string data[5];
    /*################################################*/
    // writing data file0
    filename[0] = "gift.exe";
    dirname[0] = "%windir%";
    filesize[0] = 1430;
    /*################################################*/
    // writing data file1
    filename[1] = "gift.jpg";
    dirname[1] = "%userprofile%";
    filesize[1] = 77825;

    ne produit pas non plus d'erreur gcc


    rogerio

  14. #14
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Et donc maintenant on en vient � ce que je te disais : pourquoi pas une structure ?

    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
    struct File
    {
        int Size;
        std::string Filename;
        std::strinf DirName;
        std::string Data;
    };
     
    int main()
    {
        File Fichiers[5];
     
        Fichiers[0].Filename = ...
        Fichiers[0].Size = ...
        ...
     
        return 0;
    }

  15. #15
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut yep
    @laurent

    merci du conseil :

    " pourquoi pas une structure ? "

    bah en g�n�ral je dynamise et optimise mes codes au maximum

    �tant total noob en c++ je n'ai pas encore saisi l'utilit� de d�clarer une structure

    n�anmoins je suis ici pour apprendre et si tu m'expliques pourquoi c'est n�c�ssaire, je d�clarerai une structure pour mes variables

    rogerio

  16. #16
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    C'est mieux parce que :

    - Les donn�es relatives � un fichier sont toutes encapsul�es dans un objet de plus haut niveau (en clair c'est orient� objet)

    - C'est beaucoup plus clair, � la fois pour toi et pour les autres

    - C'est plus facile � maintenir

  17. #17
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut lol
    effectivement c'est mieux


    en r�sum� : c'est cr�er un code dans le bon sens

    quand j'aurai fini le script, je le remanierai et d�clarerai une voire plusieurs structures

    rogerio

  18. #18
    Membre �clair� Avatar de vdumont
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    510
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : Canada

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 510
    Par d�faut
    Parcontre faire attention si il ne pourrait pas y avoir un conflit de nom avec une structure qui s'appelle File, je suis pas sur a 100% mais je crois que c'est d�j� utilis� non?

  19. #19
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par d�faut
    De plus les m�thodes de l'objet sont bien "rang�es".
    C'est le principe : mettre ensemble les donn�es et les m�thodes qui s'y appliquent.

  20. #20
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut lol
    merci pour vos avis


    obs : si je continu � galerer comme �a, je ne vais pas tarder � poster le code en entier
    lol

    rogerio

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. HF est lent ou c'est moi qui r�ve ?
    Par djibxav dans le forum HyperFileSQL
    R�ponses: 16
    Dernier message: 24/06/2015, 20h04
  2. R�ponses: 2
    Dernier message: 22/08/2012, 14h30
  3. [GDI][C# .Net 2] .Net FW 2 est buggu� ?! ... ou c'est moi ?
    Par Seb.26 dans le forum Windows Forms
    R�ponses: 11
    Dernier message: 09/09/2008, 16h54
  4. c'est moi ou c'est netbeans?
    Par uetac dans le forum NetBeans
    R�ponses: 1
    Dernier message: 24/06/2007, 14h30

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