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 :

Formatage de données dans sprintf


Sujet :

C

  1. #1
    Membre averti
    Homme Profil pro
    Responsable technique
    Inscrit en
    Novembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable technique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20
    Par défaut Formatage de données dans sprintf
    Bonjour,

    Je souhaite passer en argument le formatage de données dans un sprintf mais je ne sais pas par quel bout commencer !

    Sprintf(tableau[255], "%06d", data_1);
    Sprintf(tableau[255], "%04d", data_1);
    Sprintf(tableau[255], "%06x", data_2);
    Sprintf(tableau[255], "%06X", data_2);
    Sprintf(tableau[255], "%04X", data_x); (Multiplié par le nombre de cas possible)

    Je souhaite passer en argument ce qui se trouve entre crochets (04X,06x, …)
    L'idée étant de fournir dans un IHM la possibilité à l'utilisateur final le choix quant au formatage de ces données.
    Je ne souhaite pas passer par un case car le nombre de possibilité est trop important.
    Donc dans mon IHM on doit pouvoir écrire dans une zone: "%04X", data_x .
    Ou éventuellement dans 2 zones :
    Zone 1 le formatage : "%04X"
    Zone 2 la variable : data_x



    Merci pour votre aide

  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 : 62
    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
    Par défaut
    en ce qui nconcerne le format d'affichage, c'est possible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char *format = "%06d";
    Sprintf(tableau[255], format, data_1);
    Il suffit d'adapter le code de manière à ce que char *format soit initialisé avec les données fournies par l'utilisateur (je ne connais pas ton code)

    Par contre, c'est la porte ouverte aux bugs, imagine si l'utilisateur saisi "%s", tu va écrire un nombre dans un format %s prévu pour accepter une chaine de caractères, c'est le crash.

    Pour ce qui concerne le choix du nom de la variable, je ne voie pas. A moins d'avoir un tableau de valeur et de demander à l'utilisateur l'indice de la valeur à afficher. Mais là encore, attention aux crash, si l'utilisateur saisi 1000 comme indice et que tu n'as que 10 indices possibles, cela va partir en cacahuètes.

    Tous ce qui est saisi ou fourni par l'utilisateur doit être soumis à un contrôle de validité très stricte de la part de ton programme.
    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 averti
    Homme Profil pro
    Responsable technique
    Inscrit en
    Novembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable technique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20
    Par défaut
    Merci beaucoup,

    Vu ton alerte sur les risques, plutôt que d'offrir la possibilité d'écrire nimporte quoi, je fournirais un max de possibilité dans un menu déroulant celui ci étant configurable dans un fichier.ini par une personne qui maîtrise.

    Je pense que c'est pas mal.
    Idem pour mes variables mais là elles sont juste au nombre de 20.

    Merci à toi.

    Pat

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

Discussions similaires

  1. Formatage des données dans le fichier de sortie
    Par ipnote dans le forum z/OS
    Réponses: 4
    Dernier message: 18/03/2010, 15h48
  2. Formatage données avec sprintf
    Par El-Diablo- dans le forum C++Builder
    Réponses: 11
    Dernier message: 19/01/2008, 01h11
  3. Formatage des données dans un datagrid
    Par calimer22 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/03/2007, 10h56
  4. formatage de données avec sprintf
    Par hunter001 dans le forum C
    Réponses: 10
    Dernier message: 18/08/2006, 08h05
  5. [MySQL] Formatage des données dans un tableau
    Par dunbar dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/06/2006, 08h52

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