Fonction itoa
Fermé
pbs
Signo - 19 nov. 2014 à 11:49
- Messages postés
- 31
- Date d'inscription
- mercredi 5 mai 2004
- Statut
- Membre
- Dernière intervention
- 16 juin 2004
Signo - 19 nov. 2014 à 11:49
A voir également:
- Itoa arduino
- Fonction itoa c - Meilleures réponses
- Arduino itoa - Meilleures réponses
- Fonction itoa - Forum - Programmation
- Strtok() arduino - Forum - C
- Driver arduino mega 2560 windows 10 - Forum - Matériel informatique
- Expected unqualified-id before numeric constant arduino - Forum - Programmation
- Arduino tableau dynamique - Forum - Programmation
5 réponses
Canard007
16 juin 2004 à 10:07
- Messages postés
- 5927
- Date d'inscription
- mercredi 26 mai 2004
- Statut
- Contributeur
- Dernière intervention
- 18 septembre 2009
16 juin 2004 à 10:07
Salut,
voici quelques lignes de code qui pourront sans doute t aider a aprehender sprintf seul fonction ANSI pour "convertir" un entier en chaine de caractere..en fait il n y a pas vraiment de convertion..on ecrit juste le nombre dans la chaine comme si tu le tapai au clavier.
voici quelques lignes de code qui pourront sans doute t aider a aprehender sprintf seul fonction ANSI pour "convertir" un entier en chaine de caractere..en fait il n y a pas vraiment de convertion..on ecrit juste le nombre dans la chaine comme si tu le tapai au clavier.
#include <stdio.h> #include <string.h> void main () { //notre entier int i=17; //la chaine dans laquelle on veut mettre notre entier char chaine[256]; //la fonction sprintf avec (destination,format,source) //le format doit etre en accord avec la source bien entendu //il fo suivre regle format comme printf sprintf(chaine,"%d",i); //affichage pour etre sur qu on a bien ecrit 17 :p printf ("%s\n",chaine); }
Ravachol
15 juin 2004 à 23:13
- Messages postés
- 560
- Date d'inscription
- vendredi 5 mars 2004
- Statut
- Membre
- Dernière intervention
- 30 octobre 2005
15 juin 2004 à 23:13
Salut,
itoa n'est pas ANSI-C donc pas portable et n'existe que sous Dos/Windows.
A++
La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD
itoa n'est pas ANSI-C donc pas portable et n'existe que sous Dos/Windows.
A++
La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD
pbs
16 juin 2004 à 00:49
- Messages postés
- 31
- Date d'inscription
- mercredi 5 mai 2004
- Statut
- Membre
- Dernière intervention
- 16 juin 2004
16 juin 2004 à 00:49
g vu ca. g ecris un prgme que je voulé qu'il me convertisse en char mon int mais ca ne marche pas. est ce vous n'auriez pa une idee de comment je pouré le faire
Ravachol
16 juin 2004 à 08:10
- Messages postés
- 560
- Date d'inscription
- vendredi 5 mars 2004
- Statut
- Membre
- Dernière intervention
- 30 octobre 2005
- Messages postés
- 31
- Date d'inscription
- mercredi 5 mai 2004
- Statut
- Membre
- Dernière intervention
- 16 juin 2004
16 juin 2004 à 08:10
Salut,
DestyNov@ t'as donné la réponse sprintf().
A++
La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD
DestyNov@ t'as donné la réponse sprintf().
A++
La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD
#include "my_file.h"
int get_len(int n)
{
int len;
len = 1;
if (n < 0)
{
len++;
n = -n;
}
while (n > 9)
{
n /= 10;
len++;
}
return (len);
}
char *create_str(int len, int n, int neg, char *str)
{
while (len >= 0)
{
str[len] = (n % 10) + 48;
n /= 10;
len--;
}
if (neg < 0)
str[0] = '-';
return (str);
}
char *ft_itoa(int n)
{
char *str;
int len;
int neg;
if (n == -2147483648)
return (ft_strdup("-2147483648"));
neg = n;
len = get_len(n);
str = (char *)malloc(sizeof(*str) * (len + 1));
if (!str)
return (NULL);
str[len] = '\0';
len--;
if (n == 0)
{
str[0] = '0';
return (str);
}
if (n < 0)
n = -n;
return (create_str(len, n, neg, str));
}
int get_len(int n)
{
int len;
len = 1;
if (n < 0)
{
len++;
n = -n;
}
while (n > 9)
{
n /= 10;
len++;
}
return (len);
}
char *create_str(int len, int n, int neg, char *str)
{
while (len >= 0)
{
str[len] = (n % 10) + 48;
n /= 10;
len--;
}
if (neg < 0)
str[0] = '-';
return (str);
}
char *ft_itoa(int n)
{
char *str;
int len;
int neg;
if (n == -2147483648)
return (ft_strdup("-2147483648"));
neg = n;
len = get_len(n);
str = (char *)malloc(sizeof(*str) * (len + 1));
if (!str)
return (NULL);
str[len] = '\0';
len--;
if (n == 0)
{
str[0] = '0';
return (str);
}
if (n < 0)
n = -n;
return (create_str(len, n, neg, str));
}
legyptien
4 janv. 2008 à 12:17
- Messages postés
- 381
- Date d'inscription
- lundi 19 novembre 2007
- Statut
- Membre
- Dernière intervention
- 2 janvier 2018
4 janv. 2008 à 12:17
bonjour,
Moi je cherche une fonction qui convertisse une chaine de caractere en entier? alors bien sur vous allez me dire atoi mais seulement ma chaine de caractere est une succesion de 1 et de 0 (binaire) (qui sont vu comme des caracteres). En fait mon but finale est de convertir un short (binaire) en entier.
Pour cela je transforme le binaire short en chaine de caracteres grace à itoa et puis je trouve pas la seconde fonction qui transforme une chaine de caractere (composé de 1 et de 0) en entier , ca me rendrai un grand service.
Si vous avez du 2 en 1 comme les shampoings c est encore mieux! ;)
merci d avance.
Moi je cherche une fonction qui convertisse une chaine de caractere en entier? alors bien sur vous allez me dire atoi mais seulement ma chaine de caractere est une succesion de 1 et de 0 (binaire) (qui sont vu comme des caracteres). En fait mon but finale est de convertir un short (binaire) en entier.
Pour cela je transforme le binaire short en chaine de caracteres grace à itoa et puis je trouve pas la seconde fonction qui transforme une chaine de caractere (composé de 1 et de 0) en entier , ca me rendrai un grand service.
Si vous avez du 2 en 1 comme les shampoings c est encore mieux! ;)
merci d avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tu as tes 0 et 1 en char, autant les analyser ds une fonction que tu auras crée ( tu comptes le nombre de 0 et 1, puis apres quand tu trouves un 1 suivant la position, tu incrementes ton nb x 10^ etc .. )