High-Tech
Santé-Médecine
Droit-Finances
CodeS-SourceS
Inscription
Plan
Connexion
Rechercher un code, un tuto, une réponse
Accueil
Forum
Tutoriels
Codes Sources
Snippets
Top membres
Tous les langages
Delphi / Pascal
Java
Python
SQL
RegEx
Flash
ASM
IRC
Graphisme
PDA
ColdFusion
Foxpro
Flex
Visual Basic / VB.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
PHP
Forum
Tutoriels
Codes Sources
Snippets
Top membres
C/C++/C++.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
Javascript
Forum
Tutoriels
Codes Sources
Snippets
Top membres
C#/.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
ASP/ASP.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
Accueil
Connexion
Déposer un code
Code
Recherche
Haut
Accueil
Forum Codes-Sources
C / C++ / C++.NET
C++ & C++ .NET
[C++] sprintf en C++ [
Résolu
]
Signaler
turnerom
Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
-
2 août 2006 à 11:11
lpi_info
Messages postés
8
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
27 juin 2010
-
6 mai 2009 à 16:24
Bonjour,
j'ai une question un peu stupide, mais quelle est la traduction en C++ de sprintf.
Je m'explique avec ce petit exemple qui ne fait pas grand chose en fait mais qui explique + ou - ce que je voudrai:
int i = 1;
while (...)
{
sprintf(name,"image%03d.jpg",i);
cout << name << endl;
i++;
}
en sortie j'obtiens ainsi :
image001.jpg
image002.jpg
...
image010.jpg
image011.jpg
...
Bien que je puisse utiliser sprintf, je préfère l'éviter.
J'utilise pour ce faire des
stringstream
mais je ne sais pas comment traduire le
%03d
si quelqu'un pouvait m'éclairer.
D'avance merci !
TuRn3r
Afficher la suite
5
réponses
Réponse 1 / 5
cs_laurent1024
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
18
2 août 2006 à 12:01
cout.width(3); // si tu fais comme ca, ca marche pas
cout.fill('0');
for(i=0; i < 15; i++)
{
cout << "Image";
cout << i;
cout << ".jpg" << endl;
}
for(i=0; i < 15; i++)
{
cout << "Image";
cout.width(3); //
faut le mettre juste avant le champ que tu veux modifier sinon ca marche pas
cout.fill('0');
cout << i;
cout << ".jpg" << endl;
}
Ici c'est avec cout, mais avec les stringstream ca doit marcher aussi
++
Réponse 2 / 5
cs_laurent1024
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
18
2 août 2006 à 11:26
Avec ton stringstream tu doit pouvoir utiliser les fonctions width et fill
version :
int entier = 10;
stringstream s;
s.width(3); // laisse 3 caracteres pour l'affichage des entiers
s.fill('0'); // si l'entier a moins de 3 chiffres on complete avec des 0
s << entier;
++
Réponse 3 / 5
turnerom
Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
2 août 2006 à 11:36
Ah tiens, je connaissais pas ca, mais c'est pas encore exactement ca que je veux
Dans cette exemple, comment ecris-tu le %03d de sprintf en C+
+
Parceque la ca ne me sors que
image1.jpg
image2.jpg
...
image10.jpg
image11.jpg
stringstream name;
int i = 1;
while (...)
{
name << "image" << i << ".jpg"
;
cout << name << endl;
i++;
}
Merci pour ton aide !
TuRn3r
Réponse 4 / 5
turnerom
Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
2 août 2006 à 12:08
Merci, ca marche impek !
TuRn3r
Réponse 5 / 5
lpi_info
Messages postés
8
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
27 juin 2010
6 mai 2009 à 16:24
Bonjour ,franchement moi aussi bloqué dans une situation pareille,c'est que je sais pas comment je peux traduire ces fonction sous C++,voila un morceau de mon code sous C:
int i;
char * toto;
FILE * fich;
nomFic = new char[30];
sprintf (toto, "%dinv_modele.txt", nbSymbol);
fichier = fopen (toto,"a+");
if (fichier != NULL)
{
fprintf(fichier,"%d %d ", numSymbol, numSymbol);
for (i=0; i<nb_iter_teta; i++)
{
fprintf(fichier,"%d ",R_sign[i]);
}
fprintf(fichier,"\n");
fclose(fichier);
}
else
printf("Pb d'ouverture de fichier\n");
}
si qlq 1 peut m aidé svp. merci d avance
Votre réponse
Répondre
Posez votre question
Les tops du mois
Affichage en tableau : afficher des données dans un tableau
Exemple de création d'un script d'authentification
La commande "shutdown"
Swing - Partie 2 : ActionListener, Listener, JButton
Rendre le javascript dynamique par apport à une base de données