[Résolu] Retour sur dtostre(.....)

Bonsoir,
Barbudor m'a transmis tout à l'heure la solution pour l'affichage des puissances de 10.
Après avoir étudiez les différentes possibilités de la fonction :

char* dtostre 	( 	double  	__val,
		char *  	__s,
		unsigned char  	__prec,
		unsigned char  	__flags 
	)

Pour affiner l'affichage, il existe des flags pour modifier l'exposant E en e, afficher le signe + ou supprimer le signe -.
Est-il possible de modifier ces flags sans faire de l'assembleur (apprendre C suffit pour l'instant à mes vieux neurones :cold_sweat:)

DTOSTRE_UPPERCASE bit
DTOSTRE_ALWAYS_SIGN bit
DTOSTRE_PLUS_SIGN bit

Ma demande n'est peut être pas réalisable mais vous avez certainement des idées sur le sujet.
Merci pour votre aide
Icare

Il suffit de faire des #define avec les valeurs de flag.

Edit (de retour de manger)

vue dans l’aide de avr-libc

#define DTOSTR_ALWAYS_SIGN 0x01
Bit value that can be passed in flags to dtostre().

#define DTOSTR_PLUS_SIGN 0x02
Bit value that can be passed in flags to dtostre().

#define DTOSTR_UPPERCASE 0x04
Bit value that can be passed in flags to dtostre().

Les define existent déjà.

char *chaine;
float toto=12.3456e89;

void setup(void){
  chaine=(char *)malloc(20);
  chaine=dtostre(toto,chaine,7,DTOSTR_ALWAYS_SIGN + DTOSTR_PLUS_SIGN);
}

void loop(void){
}

Ce code compile sans erreur

Tu n'avais pas besoin de créer un nouveau topic.

Et Google trouve très bien aussi l'aide.
j'ai trouvé dtostre() en cherchant dtostrf()

https://www.google.fr/search?q=dtostrf

Le 1er lien était le bon!

Cherchez un peu les jeunes XD

Salut Barbudor

Cherchez un peu les jeunes smiley-lol

Pas si jeune que ça sauf en programmation C :frowning: Pour la partie hard mes premiers composants s’étaient des EL84, ECC82 et autre EZ80 et pour les transistors quelques choses de rares (AC126, OC71, etc…). Les temps ont bien changé, en bien, surement :slight_smile:
Il est vrai que je me prends un peu les pieds dans toute cette documentation et la dernière en date “avr-libc”. De quoi avoir la migraine toute une semaine.

Le cerveau est bien lent mais on essaye de se soigner pour rester un peu dans le coup grâce à votre aide.
Merci à tout ceux qui aident les “jeunes”
@+
Icare

Salut fdufnews

Cela fonctionne à merveille. Merci pour l'aide.

J'espère que petit à petit je resterai moins petit. :slight_smile:
@+
Icare