Bonjour,
Voila je me demandais si il existait une fonction du style d'atoi mais ou l'on ne prend qu'une partie de tableau?
Car à moins que je ne me trompe atoi lis tout le tableau jusqu’à arriver au '\0' non?
merci d'avance
Bonjour,
Voila je me demandais si il existait une fonction du style d'atoi mais ou l'on ne prend qu'une partie de tableau?
Car à moins que je ne me trompe atoi lis tout le tableau jusqu’à arriver au '\0' non?
merci d'avance
La fonction atoi() ignore les espaces avant et s'arrête dès quelle trouve un caractère non numérique.
Il existe aussi la fonction strtol() qui peut indiquer où elle s'est arrêtée de décoder et qui supporte si nécessaire d'autres bases que 10.
Pour s'arrêter après N chiffres même si le suivant est numérique, il y a un format de sscanf().
Bonne idée en effet sscanf() !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <stdio.h> int main(void) { const char tableau[] = "123456"; int convertion = 0; int n = sscanf(tableau, "%4d", &convertion); if (n == 1) { printf("OK: [%d]\n", convertion); } else { puts("Erreur de convertion"); } return 0; }OK: [1234]
Attention aux faux amis : le verbe convertir permet d'effectuer des conversions !
Je le signale parce qu'après ça se retrouve dans des ihms professionnelles et là, franchement, ça la fout mal (et c'est pas le pire que j'ai pu voir...)
Donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 else { puts("Erreur de conversion"); }
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
Ce n'est pas un-faux ami, juste une faute d'orthographe !
Merci à tous pour vos réponses
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager