版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010971754/article/details/55227498
这几天在找办法用C/C++获取网页内容,这样我就可以提取关键字然后干些什么,能干什么还没想好,但好处必须多。。。
用curl获取的网页源码,是UTF-8的,保存以后,从控制台输出,是一堆乱码
用curl获取的网页源码,是UTF-8的,保存以后,从控制台输出,是一堆乱码
比如原文件:
控制台输出就是这样:
看得出来中文没了- -,没中文怎么破,只有转码了,可以用 WideCharToMultiByte()函数:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
FILE *p, *p2;
TCHAR before[100];
char *Buf = NULL;
int BufLen;
p = _wfopen(TEXT("D:\\test.txt"), TEXT("rt+,ccs=UTF-8"));
p2 = fopen("D:\\temp2.txt", "w+");
printf_s("开始转换......\n");
while (!feof(p))
{
fgetws(before, 100, p);
BufLen = WideCharToMultiByte(CP_ACP, 0, before, -1, NULL, 0, NULL, NULL);
Buf = (char *)calloc(BufLen, sizeof(char));
WideCharToMultiByte(CP_ACP, 0, before, -1, Buf, BufLen, NULL, NULL);
fputs(Buf, p2);
printf_s("%s\n", Buf);
}
fclose(p);
fclose(p2);
return 0;
}