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

en C inverse de atoi???

renegada
renegada
Niveau 6
26 mars 2006 à 15:53:18

je veux transformer un integer en char mais comment faire??? sinon dans l´autre sens j´ai trouvé toute les possibilités...
atof()
atoi()
atol()
atoll()
strtod()
strtof()
strtol()

Gamerome
Gamerome
Niveau 8
26 mars 2006 à 15:55:44
  1. include <stdio.h>

char buf[32];
int n=10;

sprintf(buf, "%d", n);

http://c.developpez.com/faq/c/

Virtuality
Virtuality
Niveau 8
26 mars 2006 à 16:00:50

Génial, j´avais justement une question (jespere que je spoil pas :( )
J´ai :
char file[20]="truc.bmp";
sprintf(FileAndDirectory,"%s%s","images/",file);

y a qq chose de faux? car c´est "correct, mais lorsque je veux charger une image avec sdl il la trouve pas (pourtant en écrivant dans un fichier text jai exactement ladresse désirée).
Merci

Virtuality
Virtuality
Niveau 8
26 mars 2006 à 16:01:29

oups, fileanddirectory est aussi un char [40]

Gamerome
Gamerome
Niveau 8
26 mars 2006 à 16:04:01

Plus simple :

char filename[100];
strcpy(filename,"images/");
strcat(filename,file);

Plus comprehensible pour moi et plus lisible, essaye.

Virtuality
Virtuality
Niveau 8
26 mars 2006 à 16:08:31

J´ai aussi essayé sans succès :(
Le truc trop louche, c´est que j´écris dans un fichier text la valeur de filename (pour reprendre le nom utilisé par toi) et jobtient :
images/background.bmp
Mais le programme quitte car il n´arrive pas à charger l´image. J´ai fait copier-coller de images/background.bmp depuis le fichier text, et ai remplacé filename par celui ci dans le nom du fichier à blitter... et la ca marche....
Pk? est ce une question de type? j´aurais du avoir un message d´erreur à la compi...

Lapintade
Lapintade
Niveau 30
26 mars 2006 à 16:13:29

Ca sent l´erreur de chemin et non l´erreur de c.
Fait un test plus simple et tu verras surement que c´est le nom que tu recupere de ton fichier qui est faux. En tracant pas par pas, tu devrait trouver ton pb.

Virtuality
Virtuality
Niveau 8
26 mars 2006 à 16:21:39

Et pourtant... Je récupère le chemin et ensuite je le réecris dans un autre fichier pour vérifier qu´il soit bien correct... Je viens d´essayer en mettant le chemin en un morceau dans le fichier text d´origine, ca ne marche pas non plus. Ca semble venir du fait que lorsque je récupère du fichier text, qq chose de bizarre se produit... lol

renegada
renegada
Niveau 6
26 mars 2006 à 16:22:03

sinon merci pour le premier truc ca marche nickel :merci: comme quoi c´est les trucs les plus simple qui posent des problemes...

Virtuality
Virtuality
Niveau 8
26 mars 2006 à 16:28:52

bellette que je suis, pour récupérer le nom je fais :
fgets(fileToLoad,40,file);

dnob700
dnob700
Niveau 10
26 mars 2006 à 16:38:57

virtuality : il faut faire atention que selon l´environnement que tu utilise le répertoir de travail peut être le répertoire de ton projet et non le répertoire où se trouve l´exécutable. Donc essaye déjà d´exécuter ton programme hors de l´interface de développement si u en utilise une.
D´autre part, sous windows le caractère de séparation des dossiers est \ et non pas /. Même si le système accepte les deux, il se peut que certaines bibliothèques ne soit pas tout à fait bien écrites et gère mal cela. Donc remplace "images/" par "images\\"

Virtuality
Virtuality
Niveau 8
26 mars 2006 à 16:41:48

Déjà essayé aussi...
Actuellement j´ai :

background[iBg]=init->LoadImage(FileAndDirectory);

et si je met :

background[iBg]=init->LoadImage("images/background
.bmp");
Ca marche!
Or, FileAndDirectory à pour valeur images/background.bmp (vu que je demande de copier la variable dans un autre fichier text).
C´est ça qui est le plus troublant, les deux sont égaux mais ma fonction ne reconnait que l´un des deux...

dnob700
dnob700
Niveau 10
26 mars 2006 à 16:42:28

et pour répondre à la question du départ, l´inverse de atoi est naturellement itoa (posix) ou _itoa sur des compilos plus récents qui est probablement moins lourds que sprintf (qui doit appeler cette fonction certainement de toute manière).

Virtuality
Virtuality
Niveau 8
26 mars 2006 à 17:22:26

Grrr, ca me rend dingue lol, regardez :
fgets(fileToLoad,40,file);

sprintf(FileAndDirectory,"%s%s","images/",fileToLo
ad);
sprintf(testt,"%s","images/background.bmp"); //pou
r le test
if(!strcmp(FileAndDirectory,testt))
fprintf(stdout,"ILS SONT EGAUX!!!");

fprintf(stdout,FileAndDirectory); fprintf(stdout,"images/background.bmp\n");
fprintf(stdout,testt);

Resultat :
images/background.bmp
images/background.bmp
images/background.bmp

J´ai 3 fois la meme chose, or la fonction strcmp ne renvoit pas 0... pas étonnant que je n´arrive pas à charger quoi que ce soit, mais pourquoi j´ai 3x la meme chose à la sortie???
merci :)

LGV
LGV
Niveau 28
26 mars 2006 à 18:48:06

itoa c´est bien aussi, dans le genre...

dnob700
dnob700
Niveau 10
26 mars 2006 à 19:16:04

peut-tu nous dire de quel type sont tes variables fileanddirectory et test ? et quel compilo est-ce que tu utilise.

Est-ce qu´il ne serait pas possible que ton compilo utilise des wchar par défaut et qu´il y ait un problème de comparaison ?

sinon poste ton code en entier (
http://rafb.net/paste/ ) et on pourra essayer pour voir d´où ça peut venir.

Lapintade
Lapintade
Niveau 30
26 mars 2006 à 19:24:04

Avec le fgets, il faut faire attention a une chose : Le dernier caractere de la ligne (le "carriage return", code 0x0a et/ou 0x0d) est contenu dans la string. Donc a l´oeil, tu ne vois pas de difference, mais ta string peut avoir 2 caracteres de plus.
Donc verifie ca en faisant un strlen pour tester la taille, ou en reardant simplement les derniers octets de tes differentes strings.

Virtuality
Virtuality
Niveau 8
26 mars 2006 à 19:53:00

Merci beaucoup lapintade, c´était bien ça :)
Et merci à tous les autres :-)

Lapintade
Lapintade
Niveau 30
26 mars 2006 à 20:08:28

:ok:

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