
C++
Hat_man_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
windows的strcpy_s在Linux下替代函数snprintf
【代码】windows的strcpy_s在Linux下替代函数snprintf。原创 2025-07-21 10:38:00 · 111 阅读 · 0 评论 -
std::copy_n理解
简单通俗理解,将 first 的元素复制到 result 中,复制长度为count。:目标序列中最后一个被复制元素的下一个位置的迭代器(一般可忽略)。// 输出 dest: 1 2 3 0 0。// 复制前3个元素。:目标序列的起始迭代器。:源序列的起始迭代器。:要复制的元素数量(原创 2025-06-25 09:06:21 · 152 阅读 · 0 评论 -
Windows下导出动态库符号如何在Linux实现
Windows 下 Linux 下原创 2025-06-20 09:18:44 · 359 阅读 · 0 评论 -
Windows下memcpy_s如何在Linux下使用
/ 检查参数有效性。原创 2025-06-20 09:15:17 · 491 阅读 · 0 评论 -
Windows下获取exe所在目录,在Linux下如何实现
下面是兼容的方法#else= -1)?#endif。原创 2025-06-20 09:17:11 · 290 阅读 · 0 评论 -
BYTE[ ]转CString
【代码】BYTE[ ]转CString。原创 2025-02-08 13:18:29 · 155 阅读 · 0 评论 -
C#调用C++的DLL时,如何调试进入到C++代码
鼠标右键点击项目,弹出菜单选择“属性”,进入到“调试”即可,选择“启用本地代码调试”。需要打开C#工程的“调试”开关即可。原创 2024-07-12 08:41:11 · 481 阅读 · 0 评论 -
C#与c++对应的类型列表
/c++:char 变量名 ---- c#:byte 变量名 //C++中一个字符用一个字节表示,C#中一个字符用两个字节表示。//c++:UINT8 * ---- c#:ref byte //C#中调用前需定义byte 变量名 = new byte();//c++:结构体 **变量名 ---- c#:out 变量名 //C#中提前申明一个结构体实例化后的变量名。//c++:int * ---- c#:ref int //C#中调用前需定义int 变量名 = 0;对应 c#:StringBuilder;原创 2024-07-11 13:34:58 · 823 阅读 · 0 评论 -
C++获取电脑信息
【代码】C++获取电脑信息。原创 2024-04-24 18:18:09 · 804 阅读 · 0 评论 -
纯C++方式创建线程
纯C++方式创建线程原创 2023-08-15 16:39:10 · 140 阅读 · 0 评论 -
OpenCV相机自动对焦代码整理
OpenCV 相机自动对焦原创 2023-03-08 16:25:25 · 1732 阅读 · 0 评论 -
VS编译时,报错“纯虚函数没有强制替代项“
纯虚函数没有强制替代项”原创 2023-01-03 16:34:37 · 3063 阅读 · 0 评论 -
thread调用类中函数的用法
thread原创 2022-11-18 16:46:33 · 306 阅读 · 0 评论 -
memcpy_s 使用个人分析
memcpy_s原创 2022-11-03 10:36:54 · 309 阅读 · 0 评论 -
为何VS2019带QT插件调试QT程序很慢
QT VS 调试慢原创 2022-09-30 11:10:06 · 1501 阅读 · 0 评论 -
UTF-8有标签和无标签区别分析
签名 UTF-8原创 2022-09-25 12:48:50 · 760 阅读 · 0 评论 -
C++判断字符串是否为UTF8格式(代码)
C++字符串为UTF8格式原创 2022-09-14 08:48:05 · 764 阅读 · 0 评论 -
C++如何禁止系统自动休眠
C++用windows的API禁止系统休眠原创 2022-08-15 17:12:44 · 1033 阅读 · 0 评论 -
C++实现字节按照bit奇偶交换
字节按照bit奇偶交换原创 2022-07-23 10:35:29 · 281 阅读 · 0 评论 -
C++关于左移(<<)和右移(>>)的简单解释
C++左移,右移原创 2022-06-09 16:50:43 · 850 阅读 · 0 评论 -
VS2019某个函数按F12无法定位的解决方法
F12无效原创 2022-06-02 17:52:26 · 2458 阅读 · 0 评论 -
STL vector求最大和最小值
vector<int> Val;for(int i=0;i<5;i++){Val.push_back(i);}int nMax = *max_element(Val.begin(),Val.end());//求最大值int nMin= *min_element(Val.begin(),Val.end());//求最小值原创 2022-05-24 10:54:21 · 382 阅读 · 0 评论 -
RGB和十进制互转
//RGB转十进制int rgb2dec(int r, int g, int b){ int n = 0; n += (r << 16); n += (g << 8); n += b; return n;}//十进制转RGBvoid dec2rgb(int dec,int& r, int& g, int& b){ r = (dec >> 16) & 0xff; g...原创 2022-03-24 15:03:29 · 3044 阅读 · 0 评论 -
VS2019如何查看当前运行项目的所有线程运行情况
调试->窗口->并行堆栈原创 2022-03-16 17:25:19 · 6469 阅读 · 0 评论 -
VS2019调试时,如何查看指针地址内存中的值
1.当VS2019进入到调试状态后,在VS2019的菜单栏中找到 “调试”->“窗口”->“内存”2.然后将需要查看的内存地址复制粘贴到内存窗口的地址中,点击回车就可以。原创 2022-01-11 15:10:05 · 4091 阅读 · 2 评论 -
VS2019无法在“配置管理器”添加新的“配置”解决方法
如果在“配置管理器”中无法添加新的“配置”,如下图下拉之后,“新建”按钮无效果,则只能工程所在的目录找到后缀为 .vcxproj 的文件,我的文件是ZDemo.vcxproj。用记事本打开,如下1>是Debug的<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <ConfigurationType>Applicat..原创 2021-12-29 18:13:42 · 1535 阅读 · 0 评论 -
VS在调试时,查看是DEBUG/RELEASE
项目属性页-> C/C++ -> 预处理器 -> 预处理器定义可以明显看到区分:Debug:_DEBUG;_LIB;SDK_EXPORTS;Release:NDEBUG;_LIB;SDK_EXPORTS注意看:_DEBUG 和 NDEBUG如果我们要自己写一个区别于上面两个调试模式,则可以自己在预处理器定义中定义自己的宏定义,如:_MY_DEBUG...原创 2021-12-23 00:02:09 · 1290 阅读 · 0 评论 -
string和char*互相转换
string strVal;char *message;1.string转char*strcpy_s(message, 1024, strVal.c_str());2.char*转stringstring strVal="";char *message="123";strVal=message;原创 2021-12-16 14:53:59 · 1060 阅读 · 0 评论 -
MFC将窗口的关闭键(叉叉)变为不可用/可用
只需要三步就可以搞定,如下:CMenu *pMenu = this->GetSystemMenu(FALSE);pMenu->EnableMenuItem(SC_CLOSE,MF_DISABLED); //关闭按钮变灰无效pMenu->EnableMenuItem(SC_CLOSE,MF_ENABLED); //关闭按钮恢复有效...原创 2021-11-10 09:00:27 · 1628 阅读 · 0 评论 -
利用fstream写入结构体(二进制写入)
typedef struct s_Student{ string name; int age; int tel;}Student;Student st;st.name="xiaoming";st.age=18;tel=1234567;fstream fs;fs("test.txt",ios::out | ios::binary);//binary二进制输出if(fs){fs.write(rein...原创 2021-11-04 17:29:25 · 1016 阅读 · 0 评论 -
DWORD 和byte相互转换
1、 DWORD 转byte char 数组、指针byte byteData[1024]; // byte数组,示例DWORD dwData = dwReadBytes; // dword数据,示例byteData[0] = (dwData & 0xFF000000) >> 24; // 最高位字节byteData[1] = (dwData & 0x00FF0000) >> 16; // 第二高位字节byteData[2] = (dwData &a原创 2021-11-03 21:41:12 · 3040 阅读 · 0 评论 -
C++结构体初始化(有string的不可以用malloc)
struct Student{int age=0;string name="XiaoMing";}int main(){Student st1;st1.age=10;st1.name="XiaoHong";Student *st2=new Student;st2->age=13;str->name="xiaogang";int SumAge=st1.age+st2->age;delete st2;//new出来的结构体指针原创 2021-10-16 09:43:23 · 597 阅读 · 0 评论 -
vector.end()和vector.end()-1
vector<int> vec;for (int i = 1; i < 5; i++){ vec.push_back(i);}nTemp = *vec.end();//此处会报错nTemp=*(vec.end() - 1);//nTemp是4由上面的结论可以看出来,vec.end()-1 才是vec的最后一个元素,而vec.end() 是最后一个元素的后面一位。...原创 2021-09-25 18:02:59 · 1401 阅读 · 0 评论 -
09月20学习小记
1.memcpy_s 用于复制指定长度字符串到另一个字符串memcpy_s(out strDestination,in numberOfElements,in strSource,in count)StrDestination:拷贝完成之后的字符串numberOfElememts:目标缓冲区长度strSource :需要拷贝的字符串count: 需要拷贝的字符串长度2.reinterpret_cast 类型的强制转换用在任意指针(或引用)类型之间的转换;指针转换为...原创 2021-09-20 16:41:54 · 165 阅读 · 0 评论 -
UTF8和GBK互转
string GBKToUTF8(const char* strGBK){ int len = MultiByteToWideChar(CP_ACP, 0, strGBK, -1, NULL, 0); wchar_t* wstr = new wchar_t[len + 1]; memset(wstr, 0, len + 1); MultiByteToWideChar(CP_ACP, 0, strGBK, -1, wstr, len); len = WideCharToMultiByte(CP_.原创 2021-09-16 11:02:00 · 594 阅读 · 0 评论 -
RGB和KCMY相互转换代码
KCMY转RGBR = 255 * (100 - C) * (100 - K) / 10000;G = 255 * (100 - M) * (100 - K) / 10000;B = 255 * (100 - Y) * (100 - K) / 10000;RGB转KCMYint m_RGB=255;int nR = (m_RGB & 0x0000ff);//Rint nG = (m_RGB & 0x00ff00)>>8;//Gint nB = (m_R.原创 2021-09-15 19:53:24 · 667 阅读 · 0 评论 -
C++11中int,double与string的互相转化
std::to_stringstring to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string to_string (unsigned long val);string to_string (unsigned long long val);string to_string (float val);st..原创 2021-09-14 16:49:11 · 302 阅读 · 0 评论 -
WaitForMultipleObjects用法理解
WaitForMultipleObjects是Windows中的一个功能非常强大的函数,几乎可以等待Windows中的所有的内核对象函数原型为:DWORD WaitForMultipleObjects( DWORD nCount, // number of handles in the handle array CONST HANDLE *lpHandles, // pointer to the object-handle array BOOL...原创 2021-08-25 09:40:40 · 377 阅读 · 0 评论 -
已知四个空间坐标,求四面体体积
double volume(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double x4, double y4, double z4) { double A1, A2, A3, A4, value; A1 = x2 * (y3 * z4 - y4 * z3) - x3 * (y2 * z4.原创 2021-06-16 16:06:51 · 2580 阅读 · 4 评论 -
MFC控件随对话框放大自动适应(ListCtrl和Combox)
1.头文件申明变量和函数BOOL change_flag;CRect m_rect;void ChangeSize(UINT nID, int x, int y);2.源文件代码void CFormModelDlg::ChangeSize(UINT nID, int x, int y) //nID为控件ID,x,y分别为对话框的当前长和宽{ CWnd *pWnd; pWnd=GetDlgItem(nID); if(pWnd!=NULL) //判断是...原创 2020-11-19 19:45:14 · 1274 阅读 · 0 评论