c语言中获取用户控制台,【图片】【C语言】【控制台】提取腾讯通用户信息(id,用户名,手机)【erbi_lucifer吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

/******************************************************************************

打开用户文件

******************************************************************************/

int ReadTheFile(char str[]){

HANDLE pfile;

pfile = ::CreateFileA(str,GENERIC_READ,0,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL); // 用这个函数比OpenFile好 FILE_FLAG_DELETE_ON_CLOSE

if(pfile == INVALID_HANDLE_VALUE)

{

printf("打开文件失败2:%s\n",str);

CloseHandle(pfile); // 一定注意在函数退出之前对句柄进行释放。

return 1;

}

DWORD filesize=GetFileSize(pfile,NULL);

char* buffer=(char*)malloc((filesize+1)*sizeof(char)); 最后一位为 '/0'。

ZeroMemory(buffer,sizeof(buffer));

DWORD readsize;

ReadFile(pfile,buffer,filesize,&readsize,NULL);

buffer[filesize]=0;

//对读取的网页信息(UTF_8编码)进行解码,转换为Unicode再转换为ASCII码

int wLen2 = MultiByteToWideChar(CP_UTF8, 0, buffer, -1, NULL, 0);

wchar_t* wStr2 = (wchar_t*)malloc(sizeof(wchar_t)*wLen2);//

MultiByteToWideChar(CP_UTF8, 0, buffer, -1, wStr2, wLen2);

//unicode to gb2312

int aLen2 = WideCharToMultiByte(CP_ACP, 0, wStr2, -1, NULL, 0, NULL, NULL);

char* converted2 = (char*)malloc(sizeof(char)*aLen2);

WideCharToMultiByte(CP_ACP, 0, wStr2, -1, converted2, aLen2, NULL, NULL);

EditShow(converted2);

free(buffer);

free(wStr2);

free(converted2);

CloseHandle(pfile); // 关闭句柄。

return 0;

}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部