Les labels : afficher les caractères spéciaux

Nous avons vu comment afficher du texte avec le gtk+. Cependant si vous avez essayé d’afficher des caractères spéciaux, vous avez certainement remarqué que cela ne marche pas.
Ici, nous appelons caractères spéciaux, tous les caractères alphanumériques qu’on ne peut pas trouver dans le système alphanumérique anglais. C’est le cas par exemple des caractères accentués.

Pour résoudre ce problème, avec la librairie Pango, nous allons utiliser l’encodage UTF8. Comme ça, nous pouvons saisir et afficher des caractères accentués, chinois, indiens, russes, arabes (…). Oui je sais qu’ils sont nombreux les arabophones et les francophones qui me lisent. Pour les chinois et autres, je n’ai aucune idée.

Pour utiliser l’encodage UTF8, voici la syntaxe :

ça mérite un peu d’explication. N’est ce pas ? Bon voyons :

  • opsysstring : la chaîne de caractères à convertir.
  • len : la longueur de la chaîne, ou -1 si la chaîne est terminée par un caractère nul.
  • bytes_read : emplacement pour stocker le nombre d'octets dans la chaîne d'entrée qui ont été convertis avec succès.
  • bytes_written : emplacement pour stocker le nombre d'octet qui ont été écrit dans la nouvelle chaîne de caractères.
  • error : emplacement pour stocker les erreurs survenues, ou NULL pour ignorer les erreurs.

Voici notre nouvelle fenêtre:
Langage C, GTK+, affichage de caractères spéciaux

Code Source:

Il ne faut surtout pas oublier g_free car il est celui qui libère la mémoire occupée par notre texte.



Une question? Cliquez ici pour la poser.

Retour sur le portail du langage C/C++