Bonjour,
J'ai pris un exemple pour présenter mon problème : j'aimerais que buf
contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
Int bin[8] ;
char *buf = new char [4];
for (int i = 0; i <= 7; i++){
tab[i] = i ;
cout << tab [i];}
sprintf(buf, "%d", tab);
cout << "\nbuf=" << buf;
delete [ ] buf;
merci pour votre aide
Bonjour, J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
La solution la plus simple est la suivante :
#include <sstream>
...
{ std::ostringstream o; for(int i = 0; i <= 7; ++i) o << i; // ou bien o << tab[i] si tes chiffres sont stockés // dans ton tableau std::cout << o.str(); }
Sinon :
Int bin[8] ;
Tu veux dire "int tab[8];" j'imagine ?
char *buf = new char [4];
tu alloues une chaine de 4 caractères pour en écrire 7... c'est plutot risqué...
for (int i = 0; i <= 7; i++){ tab[i] = i ; cout << tab [i];} sprintf(buf, "%d", tab);
là tu dis à sprintf que tab est un int, or c'est un int*. Tu ne peux pas lui dire de parcourir tab de toutes façons.
de rien. Mais ton but réel n'est pas très clair. De plus sprintf c'est plutôt en C qu'on l'utilise, et ce n'est pas très sûr.
A+
Christophe
Pilatus wrote:
Bonjour,
J'ai pris un exemple pour présenter mon problème : j'aimerais que buf
contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
La solution la plus simple est la suivante :
#include <sstream>
...
{
std::ostringstream o;
for(int i = 0; i <= 7; ++i)
o << i;
// ou bien o << tab[i] si tes chiffres sont stockés
// dans ton tableau
std::cout << o.str();
}
Sinon :
Int bin[8] ;
Tu veux dire "int tab[8];" j'imagine ?
char *buf = new char [4];
tu alloues une chaine de 4 caractères pour en écrire 7... c'est plutot
risqué...
for (int i = 0; i <= 7; i++){
tab[i] = i ;
cout << tab [i];}
sprintf(buf, "%d", tab);
là tu dis à sprintf que tab est un int, or c'est un int*. Tu ne peux pas
lui dire de parcourir tab de toutes façons.
Bonjour, J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
La solution la plus simple est la suivante :
#include <sstream>
...
{ std::ostringstream o; for(int i = 0; i <= 7; ++i) o << i; // ou bien o << tab[i] si tes chiffres sont stockés // dans ton tableau std::cout << o.str(); }
Sinon :
Int bin[8] ;
Tu veux dire "int tab[8];" j'imagine ?
char *buf = new char [4];
tu alloues une chaine de 4 caractères pour en écrire 7... c'est plutot risqué...
for (int i = 0; i <= 7; i++){ tab[i] = i ; cout << tab [i];} sprintf(buf, "%d", tab);
là tu dis à sprintf que tab est un int, or c'est un int*. Tu ne peux pas lui dire de parcourir tab de toutes façons.
de rien. Mais ton but réel n'est pas très clair. De plus sprintf c'est plutôt en C qu'on l'utilise, et ce n'est pas très sûr.
A+
Christophe
Raphael TOSTO
"Pilatus" a écrit dans le message de news:
Bonjour, J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ? Int bin[8] ; char *buf = new char [4]; for (int i = 0; i <= 7; i++){ tab[i] = i ; cout << tab [i];} sprintf(buf, "%d", tab); cout << "nbuf=" << buf; delete [ ] buf; merci pour votre aide
En reprenant ton exemple, et en ne modifiant que ce qui est nécessaire au fonctionnement cela donnerait :
int tab [8] ; char *buf = new char [8+1] ;
for ( int i=0 ; i<=7 ; i++) { tab [i] = i ; cout << tab [i] ; }
"Pilatus" <radio.mnt@freesurf.fr> a écrit dans le message de
news:1071754990.10819.0@lotis.uk.clara.net...
Bonjour,
J'ai pris un exemple pour présenter mon problème : j'aimerais que buf
contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
Int bin[8] ;
char *buf = new char [4];
for (int i = 0; i <= 7; i++){
tab[i] = i ;
cout << tab [i];}
sprintf(buf, "%d", tab);
cout << "nbuf=" << buf;
delete [ ] buf;
merci pour votre aide
En reprenant ton exemple, et en ne modifiant que ce qui est nécessaire au
fonctionnement cela donnerait :
int tab [8] ;
char *buf = new char [8+1] ;
for ( int i=0 ; i<=7 ; i++)
{
tab [i] = i ;
cout << tab [i] ;
}
Bonjour, J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ? Int bin[8] ; char *buf = new char [4]; for (int i = 0; i <= 7; i++){ tab[i] = i ; cout << tab [i];} sprintf(buf, "%d", tab); cout << "nbuf=" << buf; delete [ ] buf; merci pour votre aide
En reprenant ton exemple, et en ne modifiant que ce qui est nécessaire au fonctionnement cela donnerait :
int tab [8] ; char *buf = new char [8+1] ;
for ( int i=0 ; i<=7 ; i++) { tab [i] = i ; cout << tab [i] ; }
Bonjour, J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ? Int bin[8] ; char *buf = new char [4]; for (int i = 0; i <= 7; i++){ tab[i] = i ; cout << tab [i];} sprintf(buf, "%d", tab); cout << "nbuf=" << buf; delete [ ] buf; merci pour votre aide
dabord:
quest ce qui est tab?
je pense que c un tableau?
sprintf ecris des donnees formatees dans un string.
dans ce cas, tu en as pas besoin.
string s;
for (i = 0; i < 8; i++)
s += '0' + i;
ou
char buf[8];
for (i = 0; i < 8; i++)
buf[i] = '0'+i;
Bonjour,
J'ai pris un exemple pour présenter mon problème : j'aimerais que buf
contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
Int bin[8] ;
char *buf = new char [4];
for (int i = 0; i <= 7; i++){
tab[i] = i ;
cout << tab [i];}
sprintf(buf, "%d", tab);
cout << "nbuf=" << buf;
delete [ ] buf;
merci pour votre aide
Bonjour, J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ? Int bin[8] ; char *buf = new char [4]; for (int i = 0; i <= 7; i++){ tab[i] = i ; cout << tab [i];} sprintf(buf, "%d", tab); cout << "nbuf=" << buf; delete [ ] buf; merci pour votre aide
Christophe
bonjour
"Pilatus" a écrit dans le message de news:
Bonjour, J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ? Int bin[8] ; char *buf = new char [4]; for (int i = 0; i <= 7; i++){ tab[i] = i ; cout << tab [i];} sprintf(buf, "%d", tab); cout << "nbuf=" << buf; delete [ ] buf; merci pour votre aide
est ce que tab[] est initialisé ? a+
bonjour
"Pilatus" <radio.mnt@freesurf.fr> a écrit dans le message de
news:1071754990.10819.0@lotis.uk.clara.net...
Bonjour,
J'ai pris un exemple pour présenter mon problème : j'aimerais que buf
contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
Int bin[8] ;
char *buf = new char [4];
for (int i = 0; i <= 7; i++){
tab[i] = i ;
cout << tab [i];}
sprintf(buf, "%d", tab);
cout << "nbuf=" << buf;
delete [ ] buf;
merci pour votre aide
Bonjour, J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ? Int bin[8] ; char *buf = new char [4]; for (int i = 0; i <= 7; i++){ tab[i] = i ; cout << tab [i];} sprintf(buf, "%d", tab); cout << "nbuf=" << buf; delete [ ] buf; merci pour votre aide
est ce que tab[] est initialisé ? a+
Fabien LE LEZ
On Thu, 18 Dec 2003 14:57:05 +0100, Christophe de VIENNE wrote:
J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
La solution la plus simple est la suivante :
Non, la solution la plus simple est :
std::string buf ("01234567"); // ;-)
De plus sprintf c'est plutôt en C qu'on l'utilise
Idem pour "new char[]", d'ailleurs...
-- ;-)
On Thu, 18 Dec 2003 14:57:05 +0100, Christophe de VIENNE
<cdevienne@alphacent.com> wrote:
J'ai pris un exemple pour présenter mon problème : j'aimerais que buf
contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
On Thu, 18 Dec 2003 14:57:05 +0100, Christophe de VIENNE wrote:
J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
La solution la plus simple est la suivante :
Non, la solution la plus simple est :
std::string buf ("01234567"); // ;-)
on pensait qu'il voulait creer le string de facon dynamique.
De plus sprintf c'est plutôt en C qu'on l'utilise
Idem pour "new char[]", d'ailleurs...
char* c1 = "01234567"; char* c2 = new char[256];
strcpy(c2, c1); strcpy(c2, "01234567");
Thomas
Pilatus
"Raphael TOSTO" a écrit dans le message news: brsbpr$7g5$
"Pilatus" a écrit dans le message de news:
Bonjour, J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ? Int bin[8] ; char *buf = new char [4]; for (int i = 0; i <= 7; i++){ tab[i] = i ; cout << tab [i];} sprintf(buf, "%d", tab); cout << "nbuf=" << buf; delete [ ] buf; merci pour votre aide
En reprenant ton exemple, et en ne modifiant que ce qui est nécessaire au fonctionnement cela donnerait :
int tab [8] ; char *buf = new char [8+1] ;
for ( int i=0 ; i<=7 ; i++) { tab [i] = i ; cout << tab [i] ; }
merci à tous pour votre aide, vous me parlez de chose que je n'ai pas encore decouvert mais pour l'instant la solution de Raphael TOSTO me convient
merci à bientôt
"Raphael TOSTO" <ralfTos@hotmail.com> a écrit dans le message news:
brsbpr$7g5$1@news-reader5.wanadoo.fr...
"Pilatus" <radio.mnt@freesurf.fr> a écrit dans le message de
news:1071754990.10819.0@lotis.uk.clara.net...
Bonjour,
J'ai pris un exemple pour présenter mon problème : j'aimerais que buf
contienne la chaîne 01234567 mais ça ne marche pas, comment faire ?
Int bin[8] ;
char *buf = new char [4];
for (int i = 0; i <= 7; i++){
tab[i] = i ;
cout << tab [i];}
sprintf(buf, "%d", tab);
cout << "nbuf=" << buf;
delete [ ] buf;
merci pour votre aide
En reprenant ton exemple, et en ne modifiant que ce qui est nécessaire au
fonctionnement cela donnerait :
int tab [8] ;
char *buf = new char [8+1] ;
for ( int i=0 ; i<=7 ; i++)
{
tab [i] = i ;
cout << tab [i] ;
}
"Raphael TOSTO" a écrit dans le message news: brsbpr$7g5$
"Pilatus" a écrit dans le message de news:
Bonjour, J'ai pris un exemple pour présenter mon problème : j'aimerais que buf contienne la chaîne 01234567 mais ça ne marche pas, comment faire ? Int bin[8] ; char *buf = new char [4]; for (int i = 0; i <= 7; i++){ tab[i] = i ; cout << tab [i];} sprintf(buf, "%d", tab); cout << "nbuf=" << buf; delete [ ] buf; merci pour votre aide
En reprenant ton exemple, et en ne modifiant que ce qui est nécessaire au fonctionnement cela donnerait :
int tab [8] ; char *buf = new char [8+1] ;
for ( int i=0 ; i<=7 ; i++) { tab [i] = i ; cout << tab [i] ; }