我想把一些windows api中填充的wchar_t数组输出到用fopen:打开的文件中
wchar_t content[256];
SomeWindowsAPI(content, 256);
FILE *file;
file=fopen( "C:\log","a+");
fputs(content , file); //????
但是,fputs需要一个const char*数组。是否有其他一些C api可以写入到需要宽数组字符的文件管道?
对于打印空终止序列,fputs
的宽类似物是fputws
:
int fputws(const wchar_t *restrict ws, FILE *restrict stream);
作为一种替代方案,您可以使用fwrite
:在宽字符串中写入原始数据
wchar_t str[] = L"Hello World";
FILE * fp = /* ... */;
fwrite(str, sizeof(wchar_t), wcslen(str), fp);