c++
Werial
这个作者很懒,什么都没留下…
展开
-
C++各种编码转换(神奇的总结)
UTF-8转stringstd::string UTF8Tostring(const std::string& strSrc){ int nwLen = MultiByteToWideChar(CP_UTF8, 0, strSrc.c_str(), -1, NULL, 0); wchar_t* pwszBuf = new wchar_t[nwLen + 1]; //一定要加1,不然会出现尾巴 memset(pwszBuf, 0, nwLen * 2 + 2); MultiByt原创 2020-07-23 16:42:41 · 920 阅读 · 0 评论 -
Socket 多线程发送数据失败问题
Socket在主进程发送短字符消息可以成功,在多线程发送数据失败。```cppvoid DataSendThread::run() { webclient.sendTextMessage(strData); webclient.flush(); //加上这句就可以成功发送}...原创 2020-04-21 09:18:45 · 731 阅读 · 0 评论 -
VS编译x64位dll环境配置
本人在项目开发需要编译x64为的dll,经过长时间的探索,总结下来,希望可以帮助大家;首先,重要得需要依赖的lib或者dll为x64的,否则会报错;配置地方:1、2、这里没有x64的选项如果没有就是没有按照x64的库文件,重新卸载vs(更新我试不行),选在自定义模式安装3、WIN32改为x644、5、添加依赖最后编译搞定;...原创 2019-12-13 17:08:36 · 1297 阅读 · 0 评论 -
MFC英文系统下保存csv中文乱码问题
//创建mht文件,并写入数据 mhtFile.Open(filePath, CFile::modeCreate|CFile::modeWrite); //mhtFile为CFile类型,filePath为文件路径CString类型 //-------以下是将Unicode字符转为utf-8字符,这样才能正常显示中文 DWORD dwFileLen = mhtFile.GetLength...转载 2019-05-30 18:23:38 · 701 阅读 · 1 评论 -
MFC实现QQ一样的windows边缘窗口隐藏功能
首先,创建对话框工程,重写OnTimer;void CQQDlg::OnTimer(UINT_PTR nIDEvent){ // TODO: Add your message handler code here and/or call default CRect rect; CRect re; GetWindowRect(&rect); re.CopyRect(&...原创 2019-01-08 23:07:13 · 264 阅读 · 0 评论 -
MFC实现窗口抖动
首先,我们需要创建一个对话框工程,在按钮“晃动”里改写代码如下:// TODO: Add your control notification handler code here CRect rect; this->GetWindowRect(&rect); int off = 5; for (int i = 0; i < 10; i++) { rect.Of...原创 2019-01-08 23:04:04 · 671 阅读 · 0 评论 -
CListCtrl控件删除某行数据,对应txt文件删除对应的数据
CStdioFile pFile;POSITION pos = m_CLiseCtrl.GetFirstSelectedItemPosition();//获取鼠标当前位置if (NULL == pos){MessageBox(L"不能删除空行!");}int nItem = m_CLiseCtrl.GetNextSelectedItem(pos); m_CL原创 2018-02-02 17:07:41 · 588 阅读 · 0 评论 -
CStdioFile读写文件乱码,Unicode读ANSI乱码,需要将ANSI转换为Unicode,再用CFile::typeBinary读写
一:写文档 1 创建文档并写入内容[cpp] view plain copyCString filePath=L"C:\\unicode.txt"; CStdioFile wfile; if (!wfile.Open(filePath,CFile::modeCreate|CFile::modeWrite|CFil原创 2018-01-08 16:37:26 · 1286 阅读 · 0 评论 -
CStdioFile类向txt文件读写数据并加载到ListCtrl控件中
读文件:m_CLiseCtrl.DeleteAllItems();CStdioFile pFile;char* old_locale = _strdup(setlocale(LC_CTYPE, NULL));setlocale(LC_CTYPE, "chs");//设定// TODO: 在此添加专用代码和/或调用基类//GetDlgItem(IDC_BUTTON2)-原创 2018-01-23 09:19:02 · 657 阅读 · 0 评论 -
DWORD 关键字
DWORD值(REG_DWORD)由 4 字节长(32 位整数)的数字表示的数据。设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。REG文件中一般表现为“a”=“dword:00000001”。1个二进制位称为1个bit(位),8个二进制位称为1个Byte(字节),8 bit = 1 byte。2个字节就是1个Word(1个字,16位),DW转载 2017-12-19 11:22:27 · 1098 阅读 · 0 评论 -
CStdioFile UNICODE编译 读取中文汉字乱码 .
函数原形为:char *setlocale( int category, const char *locale );头文件:所支持的操作系统为:ANSI, Win 95, Win NT对于简体中文可以使用如下设置:setlocale( LC_ALL, "chs" ); 为什么一定要调用setlocale呢?因为在C/C++语言标准中定义了其运行时的字符集环境为"C",也就是AS转载 2017-10-31 13:33:25 · 272 阅读 · 0 评论 -
cannot convert parameter 2 from 'WORD' to 'LPCWSTR'
Resolution You will have to do one of two things: 1、Change your project configuration to use multibyte strings. Press ALT+F7 to open the properties, and navigate to Configuratio转载 2017-10-31 10:23:45 · 333 阅读 · 0 评论 -
Windows的CRT中的setlocale()
在 Windows CRT 的实现中还有一个使用 wchar_t 作为 locale 名的宽字符版本:_wsetlocale()。因此,也有了使用 _TCHAR 宏版本的 setlocale():_tsetlocale()。Windows CRT 实现的 setlocale() 和 glibc 版本的头文件与声明相同,使用方法类似,如下:支持的 locale 分类常量:LC_ALL、LC_COLLA转载 2017-11-07 19:22:49 · 1034 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
开始我的分享之路本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q插入链接原创 2017-09-28 20:01:33 · 202 阅读 · 1 评论