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 :

Inclure une constante dans chaine de caractere


Sujet :

C

  1. #1
    Membre averti

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 242
    Points : 354
    Points
    354
    Par défaut Inclure une constante dans chaine de caractere
    Bonjour...
    Je me demande s'il est possible de definir une constante a l'intérieur d'une chaine de caractères.
    J'ai en fait
    Et mon but serait d'obtenir quelque chose du genre :
    En modifiant seulement ma constante, pas la chaine du printf...
    Sachant que
    ne fonctionne évidemment pas...
    Est -ce possible en utilisant uniquement des macros (pas de fonctions du type sprintf.()...) ? J'ai essayé des tas de trucs, mais jamais il n'arrive à me remplacer ma constante ! Il est vrai que l'intérêt de ceci est minime, mais tout de même, je voudrais savoir s'il existe une solution.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #define MAX "100"
    printf("%" MAX "s, str);
    Ca le fait mais je trouve pas cela très élégant et surtout cela risque d'être casse gu..e à la longue

    sinon y aussi cela que j'utilise souvent (mais comme tu ne veut pas alors )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #define MAX 100
     
    char mask[16];
    sprintf(mask, "%%%ds", MAX);
     
    printf(mask, str);
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #define _TO_LSTR(x) #x
    #define TO_LSTR(expr) _TO_LSTR(expr)
     
    #define MAX 100
     
    void abc(const char * str);
    void abc(const char * str)
    {
        printf("%" TO_LSTR(MAX) "s", str);
    }
    On est obligé de passer dans 2 macros pour que la premiere transforme "MAX" en la valeur de MAX, sinon ça aurait donné

  4. #4
    Membre averti

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 242
    Points : 354
    Points
    354
    Par défaut
    Merci ! Merci énormément pour vos réponses ! Ca compile et ca fonctionne très bien ! Vous êtes géniaux^^

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

Discussions similaires

  1. [JAR] Inclure une librairie dans un point jar
    Par Orionmel dans le forum Général Java
    Réponses: 5
    Dernier message: 08/11/2004, 22h25
  2. [BCB6]Inclure une police dans un exécutable
    Par Bodom-Child dans le forum C++Builder
    Réponses: 8
    Dernier message: 20/08/2004, 11h18
  3. ajout d'une constante dans un select
    Par Shabata dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2004, 18h24
  4. Réponses: 4
    Dernier message: 18/05/2004, 13h58
  5. Inclure une dll dans une ressource
    Par bgcode dans le forum C++Builder
    Réponses: 4
    Dernier message: 21/08/2003, 11h12

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