![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习笔记
风清扬_jd
专注搬砖
展开
-
mac下利用c++ 启动进程
#include<iostream>int main(int argc, char *argv[]){ system("/Applications/Safari.app/Contents/MacOS/Safari"); system("/Applications/QQ.app/Contents/MacOS/QQ"); return 0;}原创 2020-03-06 17:50:43 · 810 阅读 · 0 评论 -
std::ifstream open中文路径乱码
int _tmain(int argc, _TCHAR* argv[]){ //中文路径乱码 解决方案 std::string strPackCfg = "D:\\中文路径测试\\test.dat"; setlocale(LC_ALL,"Chinese-simplified"); std::ifstream infile; infile.open(strPackCfg...原创 2018-03-26 14:58:01 · 2034 阅读 · 1 评论 -
c++ 枚举系统字体
//1、定义: CStringArray m_mSysFonts //2、回调: static INT CALLBACK NEnumFontNameProc(LOGFONT *plf, TEXTMETRIC* /*ptm*/, INT /*nFontType*/, LPARAM lParam/**/); HDC hdc = ::GetDC(*this); int nRet = ::EnumFont...原创 2018-06-19 10:07:35 · 2217 阅读 · 1 评论 -
c++提取应用程序中的图标(绘制图标ico)
//提取应用程序中的图标 CSttring m_strIcoPath = L"xx.exe"; CRect m_rcItem; //绘制区域 HICON hIcon = ::ExtractIcon(GetModuleHandle(NULL), m_strIcoPath, 0); if (hIcon != NULL) { Graphics graphics(hDC); Bit...原创 2018-06-20 10:36:40 · 5754 阅读 · 0 评论 -
c++类内存布局面
一、x86系统下注:内存对齐是以4字节。注:类内部数据不统一的情况下会发生内存补齐!!1、class CTest{ virtual void fun(){} //虚函数表 4字节。 char ch[5]; //实际是5字节,但是由于对齐 补齐3位 所以是 8字节 。 int n ; //4字节。 short m_d; //2字...原创 2018-07-04 15:55:08 · 227 阅读 · 0 评论 -
c++ 局部变量在函数的释放顺序是什么?
#include "stdafx.h"#include <iostream>using namespace std;class CTestA{public: CTestA(){cout<<"CTestA()\n";} ~CTestA(){cout<<"~CTestA()\n";}};class CTestB{public: CTestB(){cout<原创 2018-07-05 14:33:38 · 2714 阅读 · 0 评论 -
再谈wcscpy_s函数异常
int _tmain(int argc, _TCHAR* argv[]){ WCHAR ch[2]={0}; wcscpy_s(ch,2,TEXT("12")); //1、eroo 需要空间 要3个字节 + ‘\0’ WCHAR ch1[1]={0}; wcscpy_s(ch1,1,TEXT("12")); //2、erro 存储空间小于 src //1 2两种情况都会报错...原创 2018-07-31 10:18:36 · 3264 阅读 · 0 评论 -
new失败情况分析
new失败操作分为两大类:一、系统和程序内存充足情况。1、token handle过多不释放,耗尽会导致 new 创建县城失败等,此时虽然内存充足,但是new会抛出异常。 age: OpenProcessToken 在新版本编译器,new 失败会抛出异常,而不是返回null。查看进程token程序,自行下载编译即可!!http://www.codeforge.cn/ar...原创 2018-11-22 09:58:09 · 3603 阅读 · 0 评论 -
c++调用约定不一致抛出 (_CRT_DEBUGGER_HOOK(_CRT_DEBUGGER_GSFAILURE)异常
1、dll导出程序部分代码 .def文件定义LIBRARY "TestDll"EXPORTS;fnTestDll @1Add @2代码.htypedef int(WINAPI *CallBackFn)(int n); //回调函数// 这是导出函数的一个示例。int WINAPI fnTestDll(CallBackFn pfn);int WINAPI Add...原创 2019-04-16 00:18:37 · 1361 阅读 · 0 评论 -
c++ 如何监控本机共享文件夹变化(通过监控注册表来实现)
1、共享文件夹的新建和停止都会在系统注册表中记录,找到这个注册表,监控他的变化就可。 #define key = _T(" HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\LanmanServer\Shares")2、用打开上述注册表文件() handel hshare = RegOnKepey(key); //具体可以参考原创 2016-07-10 16:49:21 · 2433 阅读 · 0 评论 -
c++ 实现QQ空间,腾讯微博,新浪微博微信,豆瓣等分享功能。
1、腾讯空间,微博,微信 这些去注册一个账号,可以调用官方API js脚本。2、c++ 动态保存写有上述脚本的html,保存成html格式。3、用shellexecute函数打开上述的html页面就可以了。这种办法最简单,不用微软的html类去解析和操作js脚本,需要什么参数直接在构造html字符串的时候写入就好了。原创 2016-07-10 16:02:46 · 1747 阅读 · 0 评论 -
【VS2010】CString类型转换
一、CString 转换为const char *转自:http://hi.baidu.com/lowen_pig/blog/item/8227b632cf441488a9018ef0.html由于是2010,所以2005 08版本的方法貌似不能用了,贴一个最新的方法,经测试可以使用。若你工程默认是使用多字节字符集,无需转换。否则,涉及UniCode和ANSI转换。转载 2014-01-10 12:41:30 · 1802 阅读 · 0 评论 -
求立方根函数cbrt
#include #include 由于VS2012 2013以上版本的编译器才带cbrt cbrf 求根函数,以下编译器版本只好自己去网上搜。在微软msdn上搜的一个求立方根函数inline double cbrt(double x) {if (fabs(x) if (x > 0.0) return pow(x, 1.0/3.0);转载 2014-03-11 10:02:30 · 6136 阅读 · 0 评论 -
c++11 无序map unordered_map
#include #include typedef std::unordered_map Mymap; int main() { Mymap c1; c1.insert(Mymap::value_type('a', 1)); c1.insert(Mymap::value_type('b', 2)); c1.insert(Mymap转载 2014-07-17 18:06:36 · 4787 阅读 · 0 评论 -
strtok, _strtok_l, wcstok, _wcstok_l, _mbstok, _mbstok_l分词函数
// crt_strtok.c// compile with: /W3// In this program, a loop uses strtok// to print all the tokens (separated by commas// or blanks) in the string named "string".//#include #include char str转载 2014-07-18 12:29:30 · 1280 阅读 · 0 评论 -
求椭球曲面的法向量
原创 2014-06-30 16:50:38 · 20456 阅读 · 0 评论 -
c++ 求最小值随笔
#include using namespace std;template //最小值bool GetMinNo(T a[]/*in*/,T nLength/*in*/,T &iMinNo/*out*/){ if (nLength <= 0) return false; iMinNo = a[0]; for (T i = 1; i < nLength; i++) {原创 2014-09-24 10:38:36 · 1054 阅读 · 0 评论 -
C++ 对于多重继承 重载operator = 时候的细节注意
// 1233.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"class CA{public: CA(){b = 10;}; ~CA(){}; CA(const CA&data) { *this = data; } const CA& operator = (const CA &other) { this->b = other.原创 2014-12-02 19:14:47 · 2422 阅读 · 1 评论 -
ado 实现对db2数据库的数据插入 _RecordsetPtr
_ConnectionPtr pConnect;//打开一个数据库的指针 //此过程略去。。。。 //由于db2不支持_RecordsetPtr 指针的方式 更改里面的数据库表内容 //所以只能有执行命令 的形式 进行插入数据,构造sql insert语句执行就可以保存数据了 _CommandPtr pCommand; try { pCommand.CreateInstance(_原创 2015-11-17 22:12:31 · 1134 阅读 · 0 评论 -
常量函数只可以调用常量函数
Class CTest{public: CTest(); ~CTest(); BOOL Fun() const; double FunB() const;};BOOL Fun() const{ FunB(); //常量函数只可以调用常量函数}double FunB() const{原创 2013-08-22 13:32:55 · 2054 阅读 · 0 评论