
C++相关
奥特曼VS怪兽
当有一天真的是奥特曼打怪兽的时候,我更看好怪兽,因为数量多,更多的是因为奥特曼电瓶存电太少,续航能力差orz~~~
展开
-
模拟向聊天窗口发送信息
BOOL CALLBACK EnumWindowsProc(HWND hwnd, DWORD lParam){ // 窗口是否可视 if (!IsWindowVisible(hwnd)) { return TRUE; } // 窗口是否可激活 if (!IsWindowEnabled(hwnd)) { return TRUE; } CString m_cwndtitle; int length = ::GetWindowTextLength(hwnd); if (l...原创 2021-05-13 16:13:10 · 252 阅读 · 0 评论 -
宽字节转unicode
std::string ws2u(WCHAR *wstr) { std::string sResult; int iLen = WideCharToMultiByte( CP_ACP, NULL, wstr, -1, NULL, 0, NULL, FALSE ); char *lpsz = new char[iLen]; WideCharToMultiByte( CP_OEMCP, NULL, wstr, -1, lpsz, iLen, NULL, FALSE); sRes.原创 2020-12-03 17:23:11 · 172 阅读 · 0 评论 -
C++选择框
//允许多选文件 //CFileDialog dlg(TRUE, _T("*.*"), NULL, OFN_ALLOWMULTISELECT|OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, _T("All Files (*.*)|*.*||"), NULL); //只允许选择一个文件 CFileDialog dlg(TRUE, _T("*.*"), NULL, OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, _T("All Files (*..原创 2020-07-16 13:39:49 · 402 阅读 · 0 评论 -
WideCharToMultiByte和MultiByteToWideChar函数的用法
为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《Windows核心编程》,总结出正确的用法。WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。常用的代码页由CP_ACP和CP_UTF8...转载 2018-03-29 13:43:11 · 410 阅读 · 0 评论 -
关于pthread无法加载的问题
自己也属于linux新手,再eclipse开发的时候,使用多线程pthread的时候,头文件引入没有问题,但是编译的时候就会报错main.cpp:(.text+0xce): undefined reference to `pthread_create'collect2: ld returned 1 exit status网上说什么projecgt--》settings什么都是扯淡,我又不知道,再...原创 2018-04-19 15:23:01 · 631 阅读 · 0 评论 -
有关string和string.c_str()的问题
今天遇到string.c_str()返回值出现错误的问题,因为char*的结束符可能是空白字符【\t,\r,\n等等】,而字符串string的结束符号是\0,所以在转换的时候可能出现问题,为了避免出现这种问题,在定义string的时候,尽量采用string(src,length)的初始化方式。...原创 2018-08-01 18:45:01 · 1901 阅读 · 0 评论 -
eclipse使用pthread.h遇到“pthread_create”未定义的问题。
解决方法:a.需要在编译时添加-lpthread参数$ g++ XXXXX.cpp -lpthread -o XXXXX.ob.在eclipse中配置project>properties>c/c++Build>GCC C++Linker>Libraries在Libraries(-l)中添加pthread在Libraries search path(...原创 2019-03-22 12:01:54 · 665 阅读 · 0 评论 -
va_list、va_start、va_end相关
原创,专业,图文 vsprintf函数跟valist用法详解 - vsprintf,函数,valist,用法,详解 今日头条,最新,最好,最优秀,最靠谱,最有用,最好看,最有效,最热,排行榜,最牛,怎么办,怎么弄,解决方案,解决方法,怎么处理,如何处理,如何解决vsprintf函数和va_list用法详解今天写avr单片机程序,看串口通讯函数:void writeLog(char *fo...转载 2019-06-10 14:32:21 · 724 阅读 · 1 评论 -
fwrite、ftell、fseek、fread、fflush
本文主要是针对IO流的一些个人见解:1、fwrite函数函数原型 size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream); -- buffer:指向数据块的指针 -- size:每个数据的大小,单位为Byte(例如:sizeof(int)就是4) ...原创 2018-03-28 17:05:25 · 1002 阅读 · 0 评论 -
error C2536:'std::pair::first' :cannot specify explicit initializer for arrays
当与到这种错误的时候,是因为模板使用出错比如:std::make_pair("abc","123");这样时便会出现error C2536:'std::pair::first' :cannot specify explicit initializer for arrays正确的使用方法是:std::make_pair(string("abc"),string("123"))希望对读者有用!...原创 2018-04-03 09:32:56 · 2256 阅读 · 0 评论 -
标准C++中的string类的用法总结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的使用。标准C++中提供的str...转载 2018-03-21 13:53:01 · 208 阅读 · 0 评论 -
深入 char * ,char ** ,char a[ ] ,char *a[]
觉得挺不错的就自己保存下,万一别人删了呢! ...转载 2018-03-20 15:47:13 · 248 阅读 · 0 评论 -
substr使用
文章属于个人笔记,供浏览!1、substr用法string::substr(size_t pos = 0, size_t len = npos)是复制字符串,实现了从指定位置(pos)到指定位置加上偏移量之间的字符串(pos+len);如果没有指定长度或者偏移量超出了源字符串的长度,那么子字符串将延续到原字符串的结尾。例如:string str1 = "hello world";string st...原创 2018-03-20 12:52:10 · 2592 阅读 · 0 评论 -
sizeof用法汇总
sizeof()功能:计算数据空间的字节数1.与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2.指针与静态数组的sizeof操作 指针均可看为变量类型的一种。所有指针变量的sizeof 操作结果均为转载 2015-07-08 13:53:16 · 374 阅读 · 0 评论 -
strcmp / strcpy/strcat/strchr/strncmpi
函数名: strcmp 功 能: 串比较 用 法: int strcmp(char *str1, char *str2); 看Asic码,str1>str2,返回值 > 0;两串相等,返回0 程序例: #include <string.h> #include <stdio.h> int main(void) { ...转载 2018-03-27 09:19:12 · 224 阅读 · 1 评论 -
关于memcmpy和memmove的问题
两个函数都是拷贝的函数,但是区别是如果目标地址和源地址有重叠的时候,memcpy函数机会出错了下面来看下memcpy函数原形:void *memcpy(void *desc,const void * src,size_t size){ if((desc == NULL) && (src == NULL)) { return NULL; } unsigned char ...原创 2018-03-27 14:36:43 · 424 阅读 · 0 评论 -
utf8转gbk
string UTF8ToGBK(const string &utf8){ int length1 = MultiByteToWideChar(CP_UTF8,MB_ERR_INVALID_CHARS,utf8.c_str(),utf8.length(),NULL,0); if(length1 > 0) { WCHAR *wbuf = new WCHAR[len...原创 2018-03-22 17:19:23 · 235 阅读 · 0 评论