Récupération d'un entier dans un const char*
pierre7221
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Pour mon stage je dois créer un logiciel de traçabilité de test de carte électronique. Pour cela je dois récupérer les sauvegarde de différentes machines pour les déplacer dans un répertoire spécial.
Je récupère déjà les noms de sauvegarde dans un const char * NomFichier
NomFichier = file.baseName().toStdString().c_str();
ce qui donne NomFichier = OF123456SN000021
Mais pour créer un dossier au numéro de l'OF je dois d'abord le stocker dans la variable NumOF. Mais comment ne récupérer que ces six chiffres?
Pour mon stage je dois créer un logiciel de traçabilité de test de carte électronique. Pour cela je dois récupérer les sauvegarde de différentes machines pour les déplacer dans un répertoire spécial.
Je récupère déjà les noms de sauvegarde dans un const char * NomFichier
NomFichier = file.baseName().toStdString().c_str();
ce qui donne NomFichier = OF123456SN000021
Mais pour créer un dossier au numéro de l'OF je dois d'abord le stocker dans la variable NumOF. Mais comment ne récupérer que ces six chiffres?
A voir également:
- Récupération d'un entier dans un const char*
- Récupération de déchets - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Comment récupérer un compte facebook piraté - Guide
- Convertisseur récupération de texte - Guide
2 réponses
Salut pierre7221,
Comme ta chaîne est une chaîne C, tu peux utiliser la fonction C
Par exemple, pour extraire le numéro à la suite de OF :
en supposant que ton numéro OF consiste toujours en un nombre de caractères inférieur à 20, ce qui permet de terminer la chaîne avec
si tu fais tu C++,
Dal
Comme ta chaîne est une chaîne C, tu peux utiliser la fonction C
sscanfpour en extraire ce que tu veux en C pur.
Par exemple, pour extraire le numéro à la suite de OF :
#include <stdio.h> int main (void) { char NomFichier[]="OF123456SN000021"; char NumOF[20] = {'\0'}; if (sscanf(NomFichier,"OF%19[0-9]SN%*s", NumOF)) printf("NumOF -> %s\n", NumOF); else printf("Erreur de format\n"); return 0; }
en supposant que ton numéro OF consiste toujours en un nombre de caractères inférieur à 20, ce qui permet de terminer la chaîne avec
'\0', compte tenu de l'initialisation faite.
si tu fais tu C++,
sscanfest dans
<cstdio>(là, pour mon exemple, j'ai fait un programme C et j'ai donc inclus
<stdio.h>).
Dal