comment imprimer tableau wchar_t de fichier dans Windows 64 bits
Question
Je veux une sortie tableau de wchar_t rempli de quelques fenêtres api dans un fichier ouvert avec fopen:
wchar_t content[256];
SomeWindowsAPI(content, 256);
FILE *file;
file=fopen( "C:\\log","a+");
fputs(content , file); //????
Cependant, fputs attend un tableau const char *. Y at-il un autre C api d'écrire à un tuyau de fichier qui attend des caractères large du tableau?
La solution
Pour l'impression d'une séquence zéro terminal, l'analogue large de fputs
est fputws
:
int fputws(const wchar_t *restrict ws, FILE *restrict stream);
Comme alternative, vous pouvez écrire les données brutes dans votre grande chaîne avec fwrite
:
wchar_t str[] = L"Hello World";
FILE * fp = /* ... */;
fwrite(str, sizeof(wchar_t), wcslen(str), fp);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow