Le problème qui se pose, c'est que lorsque je décomment ceci
//"&latn=",
et que je compile, je recois ce message d'erreur:
/Users/pierrot/Documents/Arduino/libraries/Wi808/Wi808.cpp: In member function 'int WI808::sendHTTP(char*)':
/Users/pierrot/Documents/Arduino/libraries/Wi808/Wi808.cpp:1251:11: error: initializer-string for array of chars is too long [-fpermissive]
};
^
Erreur lors de la compilation.
Es-ce qu'il y a une limite dans le nombre de char ou de caratères?
Comment puis-he faire autrement ou correctement?
salut
Oui, tu essai de mettre 7 caractères (avec le 0 de terminaison de chaîne de caractère) dans 2 cases mémoire, il te faut donc au moins 1 octet de plus que la longueur de ta chaîne.
Par contre, je ne comprends pas a quoi va te servir cette structure. Si c'est pour construire ton URL directement, ça ne va pas fonctionner car tu ne pourras pas y insérer les valeurs, Il te faudrait aussi créer des variables pour la valeur de chaque paramètres. Mais il faut que les valeurs aient toujours le même nombre de caractères.
Ca me parrait trop facile pour que ca soit possible,
Je t'avoue est un très grand novice concernant les structures
Aussi, dlcouvrant ceci, je me dis que je pourrais utiliser les objects pour structurer mes données récoltées et à traiter. Mais je suis un peu dans le flou...
pierrot10:
Ca me parrait trop facile pour que ca soit possible,
Ce n'est effectivement pas possible. Si la taille de ta structure augmente, la taille mémoire utilisée augmente et ça se voit à la compilation.
Par contre si tu n'utilises pas ta structure dans ton programme, le compilateur (qui est très intelligent) ne va pas l'instancier et donc la taille mémoire utilisée ne va pas varier.
oui c'est ça
L'avantage d'une structure c'est entre autre de regrouper tous les attributs d'un objet et aussi de pouvoir le manipuler dans sa globalité (par exemple: passer l'objet ou son adresse en paramètre plutôt que chaque membre), etc.
Ok alors je pense que je vais essayer de travailler avec une structure. En enffet, je vous un aventage, surtout que ca me permetterais d'éliminer pas mal de
strncat(fix,get_val,10);
strncat(fix,",",1);
Je crois que strncat() prend pas mal de ressource, non?
Je pense que de toute manière ca va simplier mon code en espérant que je vais gagner de la mémoire.
Autre chose,
dans mon fichier wi808.h, mas structure je dois la déclarer dans ma classe ou avant ma class.
Autre chose: tu ne verras la mémoire utilisée par l’objet à la compilation que s’il est static, c’est à dire déclaré en dehors des fonctions ou déclaré ‘static’ dans une fonction.
dans mon fichier wi808.h, mas structure je dois la déclarer dans ma classe ou avant ma class.
Ca dépend de ton programme, si le structure doit être utilisée uniquement par la classe, il vaut mieux la déclarer à l'intérieur
Maintenant si elle est déclarée à l'intérieur de la classe, ça ne veux pas dire qu'elle ne pourra pas être utilisée à l'extérieur si elle est déclarée 'public'