esox_ch a écrit :
Salut,
merci là effectivement ça compile. Je verrai demain si ça marche sur le microcontrolleur (je l'ai pas sous la main là). En tous cas merci de ton aide.
Par contre, une question, en temps normal (c'est à dire avec un compilateur courrant) quelle serait la technique à utiliser pour faire ce que je voulais faire ? Passer par l'allocation dynamique?
Je demande parce que ça me parait super compliqué pour faire un truc aussi con que retourner un string ..
|
Pour ce bout de code:
Code :
- void myFunc()
- {
- // Operations sur buffer
- // Calculs et définition de unData
- char value[10];
- getValue(value, unData);
- sprintf(buffer, "Value %s",*value);
- }
|
Si tu appelles myFunc de maniere sporadique, ca sera tres bien (allocation et desallocation automatique)
Si tu appelles souvent myFunc, un static char value[10], peut être plus efficace, s'il n'y a pas necessité de nettoyer le contenu du buffer a chaque fois avant utilisation (pas besoin dans le cas ici, vu que ce qui va etre ecrit dans le buffer est terminé par un \0, qui sert d'indicateur de fin de chaine).
Les allocations dynamiques, ca sert quand tu vas vouloir que ce que tu as alloué serve encore une fois ta fonction executée (et soit donc recupérée par la fonction appellante, comme retour de la fonction, ou comme modification d'un parametre passé par pointeur).
A+,
Message édité par gilou le 06-05-2008 à 23:14:51
---------------
There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! --