我想将一些从某些 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);