我有更改UTF-8控制台代码页的代码,但是当我想将输出重定向到.txt文件时,它无效。也许是因为文件是ANSI格式?如何以最佳方式解决这个问题?
#include <windows.h>
#include <stdio.h>
int main(void)
{
if(!SetConsoleCP(65001))
{
printf("\nSetConsoleCP failed with %d\n", GetLastError());
}
if(!SetConsoleOutputCP(65001))
{
printf("\nSetConsoleOutputCP failed with %d\n", GetLastError());
}
system("chcp && ping google.com > log.txt");
return 0;
}
答案 0 :(得分:0)
最好的方法是使用&#34; cmd / w&#34;启动控制台,并使用utf16控制台编写命令。
System()是C编译器库的一部分,它取决于库内部的功能。 (例如,它是以cmd / w还是cmd开头的?),是&#34; ping&#34;使用&#34; w&#34;写入控制台变体