J'ai essayé différentes permutations de ce type de boucle.Comment copier * char vers un tableau statique de chaînes, printf produisant une sortie étrange,
char hrstdesc[50][50];
char hrstread[50][50];
int i = 0;
for (hfree = hentry; hfree; hfree = hfree->prev) {
if (filterentry(hfree)) {
continue;
}
strcpy(&hrstdesc[i][0], hfree->hrstdesc);
printf("%s \n", hrstdesc[i]);
i++;
}
printf("%s \n", hrstdesc[1]);
La sortie est,
/run/media/username/archive
/home
/var
/
/ho/va/
Les 4 premières lignes viennent, printf("%s \n", srtdesc);
, et sont ce que je pense.
La dernière ligne, je m'attendrais à voir /home
, mais à la place je reçois /ho/va/
.
https://github.com/techzilla/check_snmp_extras/blob/master/src/check_snmp_disks.c
pour (hentry = hentry;) ??? –
'hentry = hentry' pourquoi voudriez-vous même faire cela? – babon
@babon, corrigez-moi s'il vous plaît, j'apprécierais énormément. Je pensais juste que c'est ce que tu étais supposé faire en bouclant cette structure. Je suis très intéressé par une meilleure pratique. J'ai vu certaines personnes créer une variable temporaire, pour exécuter une telle boucle, mais je ne savais pas pourquoi. un peu comme, 'pour (hfree = hentry; hfree; hfree = hfree-> prev) {' – TechZilla