La sortie de " wchar_t*' d'une 'ofstream'
Je veux à la sortie d'un texte à un fichier via deux pointeurs que j'ai déclaré:
wchar_t *Col1="dsffsd", *Col2="sdfsf";
Voici ce que j'ai essayé:
std::ofstream fout;
fout.open(NativeDatabasePathHist);
fout<<"testing";
fout<<" "<<Col1<<" "<<Col2;
fout.close();
Et voici ce que j'obtiens:
tests 113 113
Pourquoi est-il que lorsque j'imprime Col1
et Col2
, j'obtiens des chiffres à la place des cordes?
Qui ne devrait pas afficher quoi que ce soit puisque ces littéraux ne sont pas à l'échelle. De toute façon, vous voulez probablement
Question connexe: stackoverflow.com/questions/2493785/...
Grâce jogojapan vous m'avez aidé 🙂
Merci chris, votre commentaire a été utile, mais vous écrivez
std::owfstream
si vous êtes en effet à l'aide de l'échelle de cordes.Question connexe: stackoverflow.com/questions/2493785/...
Grâce jogojapan vous m'avez aidé 🙂
Merci chris, votre commentaire a été utile, mais vous écrivez
std::owfstream
au lieu de std::wofstream
🙂OriginalL'auteur Aan | 2012-10-15
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, utilisez
std::wofstream
au lieu destd::ofstream
.Aussi, l'utilisation de la
L
préfixe sur votre chaîne de texte pour indiquer que votre texte est caractère large texte:OriginalL'auteur Dmitriy
Depuis que vous avez écrit à l'aide de caractères larges (
wchar_t
), vous avez besoin de regarder le fichier obtenu avec quelque chose qui comprend les caractères larges.Col1
&Col2
commewchar_t
. Comment je peux convertir en char?eh bien, puisque ces chaînes n'ont pas de caractères exigeant une large représentation, vous pouvez simplement modifier le type de
char
. Si c'est un exemple d'utilisation des données factices, mais réel de données de 16 bits de code de points, puis utiliser une fonction de la bibliothèque commewctomb()
("à l'échelle de caractères multi-octets").Dans ce cas, j'ai essayé
fout<<" "<<(char*)Col1<<" "<<(char*)Col2;
mais cette sortie du premier caractère pointé par Col1 & Col2 ??désolé, je voulais modifier la première ligne
char *Col1="dsffsd", *Col2="sdfsf";
OriginalL'auteur wallyk