Bonjour,
J'ouvre un nouveau topic spécifique au char, tableau de char et problèmes de pointeurs ainsi que du fonctionnement de strncpy().
N'étant pas un anglophobe accompli, j'ai un peu de mal à comprendre le fonctionnement de strncpy(). Peut-être que par manque d'informations, je l'utilise mal !
Dans un cas général, j'ai écris une fonction qui doit remplir un tableau extérieur à la fonction. Je me retrouve avec un tableau de char qui est rempli et qui affiche lorsque on fait un Serial.println() tout ce qu'il contient. Pour l'exemple toto, tata et titi.
En matière d'algorithme j'obtiens ceci:
//char tbl1[10];
//Appel de fonction test()
//Fonction test()
//char tbl2[10];
//Faire tout ce qui faut et remplir tbl2[i++];
//Remplir tbl1[j++] = tbl2;
Tbl1 devrait donc avoir 3 occurence de 0 à 2 avec [toto][tata][titi]. Je me suis rendu compte que dans ce cas il faudrais que je face une copie, donc strncpy(tbl1, tbl2); Et hélas je me retrouve avec un pointeur alors que je n'en ai pas parlé dans mes déclaratif
error: invalid conversion from ‘char’ to ‘char*’
error: too few arguments to function ‘char* strncpy(char*, const char*, size_t)’
error: at this point in file
Voila donc mon gros point d'interrogation. Donc si on peut avoir un cours du Docteur G ou bien du Docteur Follin sur ce sujet, je veux bien.
- Comment il fonctionne ?
- Pourquoi il est question de pointeurs ?
- Comment travailler sereinement avec les char et tableau de char ?
Bref, j'aimerais convertir à terme tout mes String (quelle horreur) pour du char. Et surtout le maîtrisé. Je précise aussi qu'il serais peut-être intéressant pour la communauté francophone de créer une petite page sur le sujet.
Merci