Bonjour,
j'aimerai savoir quelle est la meilleure manière d'initialiser un tableau d'entier à partir d'une chaîne de caractères lue au clavier...
J'obtiens donc une liste de valeurs (variable), sous forme d'entiers séparés par des espaces. Je fais ça dans le but de me faciliter la saisie d'un tableau d'entier.
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
21
22
23 void readValue(M *m) { const int lignes = m->nbLignes; const int colonnes = m->nbColonnes; int i; char c; char buffer[lignes*colonnes], *p; // lignes*colonnes pour une "marge dans la saisie" printf("Saisir ligne %d : ", i); fgets(buffer, sizeof(buffer), stdin); // Vide le buffer clavier, supprime le retour chariot if((p = strchr(buffer, '\n')) != NULL) *p = '\0'; else { do { c = getchar(); }while(c != '\n' && c != EOF); } }
Ma question est donc comment initialiser un tableau dynamique à partir des valeurs contenus dans ce flux? J'avais pensé à vsscanf mais je n'en suis pas sûr et ne sais pas l'utiliser
Exemple :
buffer = "1 2 3 4 5 6 7 8 9 10"
tabint = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
![]()
Partager