- 博客(33)
- 资源 (7)
- 收藏
- 关注
原创 wtl中使用CTimeSpan计算时间差
SYSTEMTIME sysTime; GetSystemTime(&sysTime); //time.SetSystemTime(GDT_VALID, &sysTime); CTime timeC(sysTime); CTimeSpan add(20, 0, 0, 0); timeC += add; CString strTime; strTime.For
2015-05-13 17:16:30 700
原创 应用程序调用dll动态库,参数有vector时崩溃的问题
今天跟同事遇到了一个问题,问题背景:一个动态库Tst.dll;一个应用程序App.exe;App.exe调用Tst.dll,其中动态库接口有个输出参数是vector vtLst; 问题:发现每次vtLst这具vector变量析构的时候程序崩溃。最终发现是App.exe工程的属性设置导致的由原来的Multi-threaded Debug (/MTd)改为Multi-thr
2015-01-22 11:57:20 3945
原创 使用c语言库函数-完成加减天数数后自动转换成相关日期
int nDay = 5; time_t curTime; time(&curTime); int nSec = nDay * 24 * 60 * 60; curTime -= nSec; struct tm timeinfo = {0}; /*! 获取当前系统时间*/ localtime_s(&timeinfo, &curTime); /*! 封装文件名称*/ char
2014-10-17 17:51:18 4624
转载 Wsaasynselect模型使用心得
Wsaasynselect模型使用1、 在创建完成socket后使用wsaasynselect(socket, hWnd, wMsg, FD_CONNECT|FD_READ|FD_CLOSE)使之成为非阻塞socket,并注册相关监听事件:连接成功、有消息可读、连接断开等;2、 此后connect、send、recv均为非阻塞——因为socket为非
2014-06-29 17:24:58 3365
原创 VS使用总结
1、问题:debug时int型值,只显示十六进制数解决方法:在 debug 工具栏上有个按钮 16进制,点击关闭即可!如果找不到恢复Vs 默认设置试试 工具->导入导出设置->重置所有设置
2013-09-25 16:47:01 505
原创 c++类名()创建临时对象
c++中使用类名()创建临时对象eg:class A{public: void print();}; int main(void){ A().print(); //创建临时对象调用相关函数 return 0;}
2013-09-10 11:49:50 1194
原创 select模型中需不需要ioctlsocket的问题
最近在做socket相关的项目,需要用到select模型,由于先前没用过刚上手就碰到了ioctlsocket的问题,经过查阅终于摸到了点头绪,把我查阅的结果分享给跟我一样刚用select的生手们: int PASCAL FAR ioctlsocket(SOCKET s, longcmd, u_long FAR* argp); 这句话的意思是把s 改成非阻塞模式 ,如果不使用io
2013-09-07 11:55:01 1072
转载 几种字符串加密解密的方法
第一种:〔 Python 与 Bash Shell 的结合 〕这个命令会让你输入一个字符串,然后会再输出一串加密了的数字。加密代码[照直输入]:python -c 'print reduce(lambda a,b: a*256+ord(b), raw_input("string: "), 0)'解密代码[数字后+P]:dc -e 输出的数字P第二种:〔
2013-08-28 16:00:56 2247
转载 WTL8.0下载及安装配置
WTL8.0下载及安装配置原来大家早就不玩MFC了,换WTL。。1、下载,我是在http://www.xpblue.com/down/11486.html下载的,http://sourceforge.net/projects/wtl也可以,不过我没打开。2、下载的文件是一个自解压文件,解压到任意目录,我是解压到d:\wtl80,80为版本号,面有几个子目录samples
2013-08-14 11:59:07 777
原创 Http报头
请求报头:Accept:请求报头域用于指定客户端接受哪些类型的信息。eg:Accept:image/gifAccept-Charset:请求报头域用于指定客户端接受的字符集。eg:Accept-Charset:iso-8859,gb2312缺省表明任何字符集都可以接受Accept-Encoding:类似于Accept,但是它是用于指定可接受的内容编码。eg:
2013-07-27 16:44:03 2521
原创 Http服务器返回状态码解析
当服务器响应时,其状态行的信息为HTTP的版本号,状态码,及解释状态码的简单说明。现将5类状态码详细列出:① 客户方错误100 继续101 交换协议② 成功200 OK201 已创建202 接收203 非认证信息204 无内容205 重置内容206 部分内容③ 重定向300 多路选择301 永久转移302 暂时转移
2013-07-24 09:33:34 639
原创 将int类型大于255的数值转换为十六进制字符串
int n = 1234;char bufHex[8];sprintf(bufHex, "%08X", n);
2013-07-12 16:45:51 1335
转载 C++长字符串换行
宏定义:#define STRING "abcdefg \ "dfsdgdfhfdh"如果字符序列超过一行,可以在该行末尾用一反斜杠续行。例如:CString ss; ss = “this is a very long ” \ “string that is
2013-07-12 13:33:16 7235
转载 CMarkup与tinyXml直接解析XML字符串
今天才知道CMarkup可以直接解析字符串形式的XML。以前都是先存入一个文件,然后从文件中load。多做了I/O操作,效率不高。CMarkup xml;CString str;xml.SetDoc(str); tinyXml也可以直接解析XML字符串,方式如下:// directly parsing string with tinyxml const cha
2013-07-10 13:47:32 859
原创 将int值(1~255)转换为十六进制字符
int nHex = 32;char buf[4] = " ";char czHx ;sscnaf(itoa(nHex, "%x", &czHx);
2013-07-01 15:34:29 1888
原创 将字符(串)转换为十六进制数
int main(void){ char buf[128]; strcpy(buf, "81 00 FF"); string str(buf); str.erase(0, str.find_first_not_of(" ")); //删除字符串左侧空格 str.erase(str.find_last_not_of(" ")+1); //删除字符串右侧空格 int
2013-06-25 17:02:52 877
原创 将int转换为string类型
string Int2String(int nVal){ string str; ostringstream oss; oss<<nVal; str = oss.str(); return str;}
2013-06-13 17:29:05 668
原创 找到string中指定字符前/后的子串的方法
string FindPreStrOf(string str, const char& ch){ int nPos = (int)str.find(ch); if (nPos != string::npos) { int nLen = str.length(); str.replace(nPos, nLen-nPos, " "); Trim(str); re
2013-06-13 17:22:31 3561
原创 string去除两边空格的函数
string& CReadIni::TrimLeft(string& str){ if (str.empty()) { return str; } str.erase(0, str.find_first_not_of(" ")); return str;}string& CReadIni::TrimRight(string& str){ if
2013-06-13 17:15:24 2367
原创 简单调用自己编写的dll
将生成的xxx.dll和xxx.lib文件拷贝到当前工程目录,右击属性->Linker->Input->Additional Dependencies 添加xxx.lib应用
2013-06-13 14:33:18 950
原创 HBITMAP加载指定路径中的图片
HBITMAP m_hbmp; m_hbmp =(HBITMAP)::LoadImage( NULL,L"img/bkk.bmp",\ IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
2013-06-08 16:48:46 1221
原创 int nSelItem = m_wndList.GetSelectedIndex();程序报错的解决
在listctrl的属性中将Single Selection 改为True即可
2013-06-08 15:24:06 631
原创 WTL中去除标题栏方法
在OnInitDialog中添加如下代码: //去除标题栏 SetWindowLong(GWL_STYLE, \ GetWindowLong(GWL_STYLE)&(~(WS_CAPTION | WS_BORDER)));
2013-06-06 17:05:07 817
原创 WTL对话框中添加背景图
1、添加消息映射 MESSAGE_HANDLER(WM_PAINT, OnPaint)2、初始化gdi+#include using namespace Gdiplus;#pragma comment(lib, "GdiPlus.lib")GdiplusStartupInput in; GdiplusStartup(&token, &in, NULL);
2013-06-06 16:49:06 1335
原创 对话框添加背景图片,显示全力不失真
对话框添加背景图片,显示全图不失真voidCSetPersonDlg::OnPaint(){ // this->Invalidate(); if (IsIconic()) { } else { CPaintDC dc(this);
2013-04-12 00:51:58 1167
原创 字节对齐
字节对齐,特别典型的例子struct test{char x1;short x2;float x3;char x4;};由于编译器默认情况下会对这个struct作自然边界(有人说“自然对界”我觉得边界更顺口)对齐,结构的第一个成员x1,其偏移地址为0,占据了第1个字节。第二个成员x2为short类型,其起始地址必须2字节对界,因此,编译器在x2和x1之间填充了一个空
2013-04-12 00:50:08 601
原创 mfc中使用ado连接sql 2005的连接串
连接sql 2005连接串1)有默认实例sqlexpress情况下:服务器名\实例名sqlexpress不能写端口 m_pConn.CreateInstance(__uuidof(Connection));/建立本地连接 m_pConn->ConnectionString="Driver=SQL Server;
2013-04-12 00:47:14 800
原创 MFC只刷新窗口中的指定区域方法
CRect rect ;CStatic m_stcTime ;m_stcTime.GetWindowRect(&rect) ;ScreenToClient(&rect) ;InvalidateRect(&rect, TRUE) ;
2013-04-12 00:37:40 4131
原创 MFC中设置static控件背景透明
设置static text背景透明 HBRUSHCNoticeView::OnCtlColor(CDC*pDC, CWnd* pWnd, UINTnCtlColor){ HBRUSH hbr =CFormView::OnCtlColor(pDC,pWnd, nCtlColor); if (CTLCOLOR_STATIC =
2013-04-12 00:34:44 819
原创 MFC改变控件的背景色
改变控件的背景色HBRUSH CXXXXFormView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { switch (nCtlColor) { case CTLCOLOR_BTN://按钮?
2013-04-12 00:33:13 555
原创 Unicode下CString与char*的转换
1、 CString 转换为char*方法一: CString origCString("Hello, World!"); wchar_t* wCharString = origCString.GetBuffer(origCString.GetLength()+1); size_t origsize = wcslen(wCharSt
2013-04-12 00:28:38 720
C++编程思想_第2卷_实用编程技术.pdf
2012-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人