CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C++] Problème avec strcat :(

[Draks]
[Draks]
Niveau 5
02 juin 2006 à 13:47:37

Bonjours a tous !
Voila j´ai un probleme avec cette fonction ==> strcat :(

Elle sert a "assembler" 2 chaines de caractère !
strcat(1ere, 2eme);

Le problème c´est que j´ai un long a mettre dans cette chaine mais je n´y arrive pas !

J´vous montre ou ca bugg ==>

time_t t=time(NULL);
strcat(NomRandom,"t");

Y a un problème car je ne peux pas mettre de long dans un char :(

Quelqu´un pourrait-il me dire coment faire pour mettre ma variable t dans une chaine de caractère svp !

Merci d´avance ;- )

DrTenma
DrTenma
Niveau 6
02 juin 2006 à 14:13:13

Il faut convertir long en chaine, utilise
char * ltoa(long N, char * str , int base)

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
02 juin 2006 à 14:27:21

Perso je conseille pas itoa(), parce que ce n´est pas une fonction standard, alors qu´on peut faire du code standard.

Je te conseille plutot d´utiliser un snprintf :

char longInChar[20];

snprintf(longInChar,sizeof(longInChar),"%d",tonLon
g);

Doit marcher.

[Draks]
[Draks]
Niveau 5
02 juin 2006 à 14:43:03

Merci a vous 2 pour vos reponses si rapides !
Je vais tester de suite ;- )

dnob700
dnob700
Niveau 10
02 juin 2006 à 16:12:12

ltoa est standard (POSIX), mais obsolète. Par contre _ltoa est standard et moderne.

sprintf et compagnie ont le désavantage d´être peut-être 100 fois plus lentes que les fonctions directe du type ltoa.

kufa
kufa
Niveau 9
02 juin 2006 à 18:10:43

POSIX != standard ;)

par contre itoa pas dans la stl? hmm curieux, j irai voir ca une fois a la maison.

sprintf a l avantage de pouvoir utiliser les differents types de formatages, mais effectivement sera plus lent.

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
02 juin 2006 à 18:33:49

J´ai du me tromper, itoa est bien dans stdlib.h, mais j´ai lu qq part que ce n´était pas standard... fin bref.

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
02 juin 2006 à 19:23:45

Pourtant quand on regarde dans les specs C99 aucune trace de itoa :
http://www.nirvani.net/docs/ansi_c.pdf

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
02 juin 2006 à 19:26:59

Tient d´ailleur
http://www.ltam.lu/cours-c/prg-c160.htm le dit bien.

dnob700
dnob700
Niveau 10
02 juin 2006 à 19:27:57

ben oui, vu que c´est dans la "norme" posix. Mais apparement le standard ce n´est pas la norme Posix.

Seule la norme ISO est le C "standard" ?

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
02 juin 2006 à 19:34:05

Je ne trouve rien dans les specs POSIX non plus ? (cf.
http://www.unix.org/single_unix_specification/)

dnob700
dnob700
Niveau 10
02 juin 2006 à 23:03:58

je ne sais pas, c´est la MSDN qui dit que c´est posix, alors que _ltoa serait iso. après, je n´en sais pas plus.

DrTenma
DrTenma
Niveau 6
03 juin 2006 à 03:57:26

En effet ltoa n´est standard.

DrTenma
DrTenma
Niveau 6
03 juin 2006 à 03:59:14
  • pas*
kufa
kufa
Niveau 9
04 juin 2006 à 21:09:45

Hmm apres verificiation itoa (et _itoa/variante) n´est pas ANSI (enfin pas d apres mes versions de la norme :) C et C++.
Ouai en fin de compte c est juste les compilos qui veulent implementer la stdlib pour qui ca fonctionne.. sprintf est bien plus portable..

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment