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 :

Warning message lors de la compilation avec "isblank"


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 18
    Points : 15
    Points
    15
    Par défaut Warning message lors de la compilation avec "isblank"
    bonjour a tous,

    j'ai un petit avertissement lors de la compilation, qui est le suivant :

    header.c: In function `checkNameClient':
    header.c:413: warning: implicit declaration of function `isblank'

    et je ne comprends pas pourquoi il me met ca vu que j'ai bien include <ctype.h>

    si quelqu'un a une idée ???

    Merci d'avance !!

    encore une précision, j 'utilise GCC sur linux !!

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    isblank n'existe pas, si tu veux tester le caractère et savoir s'il s'agit d'un espace c'est plutot isspace

  3. #3
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Franck.H
    isblank n'existe pas, si tu veux tester le caractère et savoir s'il s'agit d'un espace c'est plutot isspace
    Ah bon ?

    Ce qui est drôle c'est la traduction de la page man :

    En français :
    isblank() est une extension GNU.
    En anglais :
    isblank() conforms to ISO C99 7.4.1.3
    Par contre, si c'est C99, c'est vrai qu'il faudrait mieux l'éviter pour le moment...

    Jc

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Bin ouais si c'est du C99 c'est normal que je ne connaisse pas, moi c'est que du C89/C90 que je fait, je ne veut même rien savoir au sujet de C99

  5. #5
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Franck.H
    Bin ouais si c'est du C99 c'est normal que je ne connaisse pas, moi c'est que du C89/C90 que je fait, je ne veut même rien savoir au sujet de C99

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par fearyourself
    Ah bon ?

    Ce qui est drôle c'est la traduction de la page man :

    En français :


    En anglais :


    Par contre, si c'est C99, c'est vrai qu'il faudrait mieux l'éviter pour le moment...

    Jc
    Le C99 inclue un certains nombre d'extensions GNU (donc la page en français n'est pas jeune ), mais la fonction apparait bien dans la norme :
    Citation Envoyé par n1124
    7.4.1.3 The isblank function
    Synopsis
    1 #include <ctype.h>
    int isblank(int c);
    Description
    2 The isblank function tests for any character that is a standard blank character or is one
    of a locale-specific set of characters for which isspace is true and that is used to
    separate words within a line of text. The standard blank characters are the following:
    space (' '), and horizontal tab ('\t'). In the "C" locale, isblank returns true only
    for the standard blank characters.

  7. #7
    Membre actif Avatar de Gamdwin
    Inscrit en
    Avril 2005
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 186
    Points : 207
    Points
    207
    Par défaut
    Vu que ma version de la libc n'a pas isblank() (vieille version) je ne peux pas vérifier, mais le prototype de la fonction est peut-être protégé pour n'être utilisé qu'en C99, dans ce cas essaie l'option -std=C99 voir si ça fonctionne mieux ?
    (j'admets d'après le message d'erreur que tu utilises gcc)

  8. #8
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Gamdwin
    Vu que ma version de la libc n'a pas isblank() (vieille version) je ne peux pas vérifier, mais le prototype de la fonction est peut-être protégé pour n'être utilisé qu'en C99, dans ce cas essaie l'option -std=C99 voir si ça fonctionne mieux ?
    (j'admets d'après le message d'erreur que tu utilises gcc)
    Oui la fonction n'est définie que si l'on compile en C99 :
    Code ctype.h : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    /* ISO C99 introduced one new function.  */
    #ifdef	__USE_ISOC99
    __BEGIN_NAMESPACE_C99
     
    __exctype (isblank);
     
    __END_NAMESPACE_C99
    #endif

    Par défaut gcc compile en gnu89 :
    gnu89
    Par défaut, C89 ISO + extensions GNU (incluant certaines fonctionnalités du C99).

    Bizarement isblank n'est plus considérée comme une extension gnu

Discussions similaires

  1. Erreur lors de la compilation avec OmniORB
    Par JohnKwada dans le forum CORBA
    Réponses: 1
    Dernier message: 07/09/2006, 17h34
  2. Réponses: 16
    Dernier message: 16/06/2006, 21h24
  3. Réponses: 27
    Dernier message: 23/03/2006, 07h33

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