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 :

Probleme avec sprintf


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par défaut Probleme avec sprintf
    Hello World

    J'ai un souci avec sprintf voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    char bufA[1000]; 
    char bufB[32];
    sprintf(bufB, "%i", PadCount());
    sprintf(bufA, "Found %i pad(s)", bufB);
    avec padcount une fonction que j'ai créer et qui retourne un entier.

    Malheureusement a l'ecran le programme m'affiche pas Found 4 pad(s), avec 4 le retour de la fonction padcount, mains Found -805099944 pad(s).

    Avec les espion cela semble correct. Pourriez vous m'aider SVP.

    Merci

    Nom : bufb_c10.png
Affichages : 190
Taille : 23,6 Ko

  2. #2
    Membre éclairé Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    char bufA[1000]; 
    char bufB[32];
    sprintf(bufB, "%i", PadCount());
    sprintf(bufA, "Found %s pad(s)", bufB);

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    sprintf(bufA, "Found %i pad(s)", PadCount());
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Bousk Voir le message
    sprintf(bufA, "Found %i pad(s)", PadCount());
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre Expert
    Avatar de Pyramidev
    Homme Profil pro
    Tech Lead
    Inscrit en
    Avril 2016
    Messages
    1 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Tech Lead

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 513
    Par défaut
    Étant donnée la taille actuelle du tampon (1000), il n'y a pas encore de risque de dépassement de tampon (buffer overflow). Mais je conseille de prendre les bonnes habitudes au plus tôt et de remplacer sprintf par snprintf, sprintf_s ou snprintf_s :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    snprintf(bufA, sizeof bufA, "Found %i pad(s)", PadCount());
    Documentation : http://en.cppreference.com/w/c/io/fprintf

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

Discussions similaires

  1. probleme avec sprintf
    Par takout dans le forum C
    Réponses: 6
    Dernier message: 18/07/2012, 17h10
  2. probleme avec fonction sprintf
    Par sousoi dans le forum C
    Réponses: 8
    Dernier message: 30/06/2010, 22h06
  3. Probleme avec sprintf et affichage?
    Par nanettemontp dans le forum C++
    Réponses: 16
    Dernier message: 15/10/2007, 14h45
  4. Probleme de segmentation fault avec sprintf
    Par MathG dans le forum C++
    Réponses: 5
    Dernier message: 14/12/2006, 01h12
  5. probleme avec sprintf
    Par semaj_james dans le forum C
    Réponses: 5
    Dernier message: 09/12/2005, 20h07

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