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 :

strprn


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 134
    Par défaut strprn
    Bonjour,

    J'ai un problèmme avec un programme :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
     
    /* PRINT_IT.C--Ce programme imprime les listings avec les numéros de ligne */
     
    #include <stdlib.h>
    #include <stdio.h>
     
    void do_heading (char *filename) ;
     
    int line, page ;
     
    main (int argv, char *argc [])
    {
    	char buffer [256] ;
    	FILE *fp
     
    	if(argv < 2)
    	{
    		fprintf(stderr,"\nLa sytaxe correcte est: ") ;
    		fprintf(stderr,"\n\nPRINT_IT test.c\n") ;
    		exit(1) ;
    	}
     
    	if ((fp = fopen(argc[1],"r")) == NULL )
    	{
    		fprintf(stderr,"Erreur d'ouverture de fichier, %s",argc[1]) ;
    		exit(1) ;
    	}
     
    	page =0 ;
    	line =0 ;
    	do_heading ( argc[1]) ;
     
    	while (fgets(buffer,256,fp) != NULL)
    	{
    		if (line % 55 = 0)
    			do_heading ( argc[1]) ;
     
    		fprintf(stdout,"%4d:\t%s",line ++,buffer) ;
    	}
     
    	fprintf(stdout,"\f") ;
    	fclose(fp) ;
     
    	return 0 ;
    }
     
    void do_heading (char *filename)
    {
    	page ++ ;
     
    	if (page >1)
    		fprintf(stdout,"\f") ;
     
    	fprintf(stdout,"Page : %d ,%s\n\n",page,filename) ;
    }
    (c'est un exemple de mon bouqin)

    1)Normalement je doit utiliser 'strprn' mais le compilateur ne le reconnait pas (pas partie de la norme ANSI),j'ai du remplacer vers 'strdout'

    2)Il me dit qu'a la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    main (int argv, char *argc [])
    je n'ai pas spécifié de type de donné (laquelle ?? et en plus c'est fait il me semble)

    Qqun peut m'aider ?

    Merci

    Zazeglu

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 235
    Par défaut
    Slt

    1) Apparemment les strn... ne marchent pas sur tout ls compilateurs. Si ce n'est pas a la norme ANSI, c'est surement du a cela.

    2) mets void main(...) ou int main(...)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 134
    Par défaut
    ah ben merci ça va bien
    mais il y aune autre erreur et je croiais qu'elle partirait avec celle du dessus mais non ...

    à cette ligne : il me dit : missing semicolon beffor 'if'

    je ne comprend pas ce que cela veut dire

    Merci

    Zaeglu

  4. #4
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    Ton xemple ne viendrait pas par hasard u livre "le langage C" de Peter Aitken & Bradley L. Jones : car y'a le meme exemple !
    Pour la fonction strprn, elle ne fait pas partie de la norme ANSI certes, mais bcp de compilateur la reconnaisse ... mais elle est bizarre comme fonction, pas simple a comprendre parfois... mieux vaut l'éviter.
    Pour le main, fait comme l'a dit Steph82 ...

    Nas'

  5. #5
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    T'as oublié le point virgule je pense.

    Nas'

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 134
    Par défaut
    ouioui c'est bien ce livre que j'ai choisit pour apprendre C.J'aurait plutôt choisit un MicroApp mais ils n'en avaient pas sur C(sauf un vieux qui ne se trouve plus dans leur collection)

    Sinon c'est bien ce que j'ai fait mais ça ne m'arrange pas le problèmme de mon dernièr message

    Merci

    Zazeglu

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 134
    Par défaut
    ahh oui c'est bien le ; qui manquait ,merci bien

    P.S. : Je commence à croir que les messages d'erreur en C ,c'est comme en JavaScript ,ils servent juste à te dir que qqe chose ne focntionne pas ,le reste débrouille toi !!

    Merci encore !

    Zazeglu

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 235
    Par défaut
    Citation Envoyé par Zazeglu
    ahh oui c'est bien le ; qui manquait ,merci bien

    P.S. : Je commence à croir que les messages d'erreur en C ,c'est comme en JavaScript ,ils servent juste à te dir que qqe chose ne focntionne pas ,le reste débrouille toi !!

    Merci encore !

    Zazeglu
    Euh, c'est un peu plus poussé le debuugeur du C, je n'ai pas regardé ton code, juste tes msg d'erreurs:

    missing semicolon beffor 'if'
    semicolon en anglais veux dire point-virgule, dc en clair le msg te dit qu'il te manque un ; quelque part. c'est stipulé a la ligne. Tu verras a force, tu verras toute suite l'erreur d'après le message.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 134
    Par défaut
    oui je suis daccord ,les messages d'erreurs en JavaScript c'est vraiement ce qu'il y a de pire

    Bah sion je crois que je vais m'en sortire ...

    Merci

    Zazeglu

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 235
    Par défaut
    Ok, si tt est bon, c cool 8) . Penses bien a mettre résolu.
    A+

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

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