Probleme avec printf() ???

Fermé
gacki Messages postés 109 Date d'inscription mardi 23 avril 2013 Statut Membre Dernière intervention 15 mars 2016 - 21 juin 2013 à 01:35
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 - 30 juin 2013 à 20:13
Bonjour tout le monde :

je veux savoir si il y a une façon d'écrire d'autre langue en langage C

c'est-à-dire par exemple quand j'ai essayer d'écrire printf("mot en lettre chinoise ");
elle n'a pas marcher c'est quoi le problème ? et comment le résoudre ? j'ai lus dans un site des choses sur des caractères large ou quelque chose comme sa, mais j'ai pas vraiment bien comprit comment les utiliser. es
et merci d'avance.

6 réponses

karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
21 juin 2013 à 02:40
salut

essayez ici https://www.developpez.net/forums/d339661/c-cpp/outils-c-cpp/cppbuilder/caption-d-objet-langue-arabe/

je souhaite que cela va résoudre votre problème :)
0
vous pouvent donner plus des explcation pour que je t'ide
0
karara20 Messages postés 32 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 13 juillet 2014 9
Modifié par karara20 le 28/06/2013 à 01:25
0
gacki Messages postés 109 Date d'inscription mardi 23 avril 2013 Statut Membre Dernière intervention 15 mars 2016
28 juin 2013 à 11:51
karara :) c'est pas vraiment sa se que je cherche par ma question

se que je veux savoir c'est comment afficher des caractères de l'unicode comme l'arabe le chinois et tout ...

je serai tres content si quelqu'un pourrai me donné un exemple d'utilisation des caractère unicode

et merci d'avance :)
0
gacki Messages postés 109 Date d'inscription mardi 23 avril 2013 Statut Membre Dernière intervention 15 mars 2016
28 juin 2013 à 12:20
se que je veux dire de ma question si je veux afficher le mot ??? comment je fait quelle fonction vas me faire se travail car la fonction printf ne le fait pas elle ne connaît pas se genre de caractère et merci ;)
0
gacki Messages postés 109 Date d'inscription mardi 23 avril 2013 Statut Membre Dernière intervention 15 mars 2016
Modifié par gacki le 28/06/2013 à 12:23
pour Monsieur karirovax j'ai pas vraiment bien comprit la repense qui existe dans le lien que vous m'avez donné mais merci comme même :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
28 juin 2013 à 13:22
Re: salut

Suivi les liens qui se trouvent dans le lien qui je te donne ( ce qui concerne "unicode" )

mais en tout cas je vous donne quelques solutions de bricole:

Au lieu d'utiliser : char la remplacer par wchar_t
et pour cout par wcout
fstream par wfstream
... et ainsi de suite

c'est à dire d'ajouter la lettre w de chaque fonction/objet du C/C++
0
[Dal] Messages postés 6195 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 décembre 2024 1 092
Modifié par [Dal] le 29/06/2013 à 01:33
On peut faire comme cela :

#include <stdio.h>

int main()
{
    /* I can write in Chinese */
    printf("\u6211\u53EF\u4EE5\u5199\u5728\u4E2D\u56FD\n");

    return 0;
}

Il faut disposer d'une console pouvant afficher de l'unicode.


Dal
0
gacki Messages postés 109 Date d'inscription mardi 23 avril 2013 Statut Membre Dernière intervention 15 mars 2016
29 juin 2013 à 12:00
merci Dal pour votre réponse mais j'ai reçu l'erreur suivant :
attention : noms de caractère universel sont seulement valides en C++ et C89
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
29 juin 2013 à 13:09
gacki,

C99 tu veux dire ;-). Et c'est normal, cette notion n'a été intégrée qu'en C99.
Utilise plutôt wprintf(L"");
0
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
29 juin 2013 à 20:12
Re:

Oui vous avez raison comme j'ai mentionné en haut qu'il faut ajouter un w avant car le C++ contient un environnement sous dos qui refuse les écritures Unicode mais la solution d'ajouter un w avant les fonctions ça va marcher. Sinon un autre langage comme Python qui va jouer à Nikel :)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
30 juin 2013 à 00:54
Oui vous avez raison comme j'ai mentionné en haut qu'il faut ajouter un w avant
Non justement en C++ tu n'as pas besoin ;-). C'est juste en C (C89).
car le C++ contient un environnement sous dos
Euh, le C++ contient pas d'environnement sous dos... Il appelle simplement le terminal.
0
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
30 juin 2013 à 01:28
Re:

Euh, le C++ contient pas d'environnement sous dos... Il appelle simplement le terminal.

Oui, je sais qu'il s'appel terminal ( shell ) mais je veut pas compliquer ceci pour des novice comme la mienne :)
0