C++面向对象编程
小黄莺
功到自然成,
有计划,有目标,有进步。
展开
-
strrchr()用法
strrchr()函数可以用来查找IP地址,从最后面的开始查找,找到第一个点“.”,可以获取改IP地址的最后一个数值例如IP地址为192.168.1.123p = strrchr(buf1, '.');之后,p=1,buf1=192.168.1strrchr() 函数查找字符在指定字符串中从后面开始的第一次出现的位置,如果成功,则返回从该位置到字符串结尾的所有字原创 2014-04-26 17:17:05 · 1667 阅读 · 0 评论 -
MFC 在窗口上贴背景图png
1. 主窗口类2. 基于CWnd原创 2014-04-16 21:02:41 · 2107 阅读 · 0 评论 -
网络字节序与主机字节序的转换
在对IP地址结构体SOCKADDR_IN赋值的时候,经常会用到下列的函数htonl,htons,inet_addr,与之相对应的函数是ntohl,ntohs,inet_ntoa。查看这些函数的解析,会发现这些函数其实是与主机字节序和网络字节序之间转换有关。就是什么网络字节序,什么是主机字节序呢?下面我写出他们之间的转换:用IP地址127.0.0.1为例: 第一步 127转载 2014-05-01 20:22:55 · 416 阅读 · 0 评论 -
在VMware虚拟机上安装Ubuntu 10.04 (网址)
http://www.linuxidc.com/Linux/2010-04/25829.htm转载 2014-05-01 20:32:09 · 504 阅读 · 0 评论 -
ubuntu中vi上下左右键显示字母的解决方法
使用vi命令时,不能正常编辑文件,使用方向键时老是出现很多字母在网上找了个方法 问题已经解决 分享一下:只要依次执行以下两个命令即可完美解决Ubuntu下vi编辑器方向键变字母的问题。一.执行命令 sudo apt-get remove vim-common二.执行命令 sudo apt-get install vim再试试Vi编辑器,是不是恢复正常了。转载 2014-05-01 20:30:07 · 1642 阅读 · 0 评论 -
Ubuntu下配置NFS服务
文章来自:http://www.cnblogs.com/shenhaocn/archive/2011/03/13/1983042.html配置nfs服务器 在ubuntu下安装、配置nfs服务的步骤如下: 1、安装nfs Ubuntu上默认是没有安装nfs服务器的,因此我们首先安装nfs服务器端: $sudo apt-get install nfs-kernel-转载 2014-05-01 20:27:48 · 469 阅读 · 0 评论 -
Ubuntu下配置samba实现文件夹共享
一. samba的安装:sudo apt-get insall sambasudo apt-get install smbfs二. 创建共享目录:mkdir /home/phinecos/sharesodu chmod 777 /home/phinecos/share三. 创建Samba配置文件:1. 保存现有的配置文件sudo cp /etc/samba/转载 2014-05-01 20:21:02 · 431 阅读 · 0 评论 -
CIPAddressCtrl类的使用(IP地址与CString的互相转化)
CIPAddressCtrl类的使用(IP地址与CString的互相转化)//将CString 型IP地址在IPAddressCtrl中显示 CString strIP="192.168.0.10"; DWORD dwIP; dwIP = inet_addr(strIP); unsigned char *pIP = (unsign转载 2014-05-01 20:33:59 · 523 阅读 · 0 评论 -
CWnd::OnNcMouseMove
CWnd::OnNcMouseMove当光标在非工作区中移动时,框架调用该成员函数。afx_msg void OnNcMouseMove( UINT nHitTest, CPoint point );参数nHitTest指定 命中测试代码。 命中测试是转载 2014-04-16 10:02:35 · 1017 阅读 · 0 评论 -
实现无边框时拖动窗口
//向父窗口模拟发送一条按下标题栏的消息if (GetParent()->GetSafeHwnd())GetParent()->PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x,point.y));原创 2014-04-15 22:23:49 · 766 阅读 · 0 评论 -
CBitmap,HBitmap,Bitmap区别及联系
CBitmap,HBitmap,Bitmap区别及联系加载一位图,可以使用LoadImage:HANDLE LoadImage(HINSTANCE hinst,LPCTSTR lpszName,UINT uType,int cxDesired,int CyDesired,UINT fuLoad);LoadImage可以用来加载位图,图标和光标加载时可以规定加载图的映射到内存转载 2014-03-31 14:46:14 · 479 阅读 · 0 评论 -
0xC015000F:正被停用的激活上下文不是最近激活的
项目程序运行的时候,突然出现这个错误,调用堆栈中的函数,没有一个是自己写的,非常困惑。 在网上搜索了一下,先找到一个提示,可以在CApp::InitInstance()中禁用ActivationContext: afxAmbientActCtx= FALSE; 这种做法能“解决”问题,但进一步查证后发现这实际上是隐藏问题。 Junfeng Zhang在自己的博客中给了比较转载 2014-03-30 15:29:29 · 570 阅读 · 0 评论 -
error C2471: 无法更新程序数据库
今天将FBReader的源代码文件通过新建筛选器,添加现有项目将文件一个个加入到Visual Studio 2008环境中,生成FBReader项目,在生成解决方案时出现很多找不到文件的错误,后来发现文件中使用到了include "常规” --> "附加包含目录“属性没有添加包含目录,最后通过添加了文件的指定包含目录(相对路径),解决了找不到指定文件的错误,但生成解决方案时重新出现了一下错误:转载 2014-03-30 15:28:58 · 1135 阅读 · 0 评论 -
vc++加载透明png图片方法——GDI+和CImage两种
先看看GDI+的方法方法1:1.GDI+画透明图层(alpha)的png图片stdafx加入如下:#include //初始化一下com口#include "GdiPlus.h"using namespace Gdiplus;#pragma comment(lib,"gdiplus.lib")开始初始化:转载 2014-03-29 17:19:16 · 792 阅读 · 0 评论 -
网络字节序与主机字节序的转换
在对IP地址结构体SOCKADDR_IN赋值的时候,经常会用到下列的函数htonl,htons,inet_addr,与之相对应的函数是ntohl,ntohs,inet_ntoa。查看这些函数的解析,会发现这些函数其实是与主机字节序和网络字节序之间转换有关。就是什么网络字节序,什么是主机字节序呢?下面我写出他们之间的转换:用IP地址127.0.0.1为例: 第一步 127转载 2014-04-29 19:15:13 · 493 阅读 · 0 评论 -
Cannot load 32-bit SWT libraries on 64-bit JVM
使用64位jre 但是plug-in project创建时自动填充的依赖jar包是32位 导致出错 “java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM” 参看 http://funnyfuntoosh.com/blogs/2011/05/05/solution-jav转载 2014-03-30 15:27:23 · 1102 阅读 · 0 评论 -
MFC 加载png图片
CImage img;HRESULT ret = img.Load(_T("res/1.png")); //wuziqi.png是我要加载的图片名称,包含路径HBITMAP hbitmap = img.Detach();CBitmap cBitmap;BITMAP bitmap;CDC memdc;cBitmap.Attach(hbitmap);memdc.Cr转载 2014-03-30 14:15:22 · 1158 阅读 · 0 评论 -
改变窗口大小
改变窗口大小:原创 2014-04-16 15:13:05 · 541 阅读 · 0 评论 -
strstr
strstrstrstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。原创 2014-04-17 15:59:01 · 929 阅读 · 0 评论 -
add/remove operation is impossible, because the code element 'Cxxx' is read only
How to solve “add/remove operation is impossible, because the code element 'Cxxx' is read only”With Visual Studio 2008, we may meet “add/remove operation is impossible, because the code element 'C转载 2014-04-02 12:22:29 · 857 阅读 · 0 评论 -
怎样去掉visual studio2008编辑器中的箭头
怎样去掉visual studio2008编辑器中的箭头Ctrl+W;转载 2014-04-26 16:53:33 · 1075 阅读 · 0 评论 -
Android特效 五种Toast详解
Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。1.默认效果:代码:Toast.makeText(getApplicationContext(), "默认Toast样式", Toast.LENGTH_SHORT).show();2转载 2014-05-12 06:43:44 · 364 阅读 · 0 评论 -
android:Invalid start tag RelativeLayout
http://www.oschina.net/question/217667_39964你的布局文件放错了路径。布局都应该放置在项目的res/layout/下,检查一下是不是放错了路径。转载 2014-05-12 05:09:06 · 664 阅读 · 0 评论 -
fatal error LNK1120: 1 unresolved externals
错误可能原因:1、程序中缺少lib文件,在project -> setting里的link中加入所需lib文件即可。2、在程序中函数只有声明没有定义,而导致这个问题的很可能的原因是在函数定义时把函数名称写错了, 所以以后一定要在写函数定义时复制函数声明中的函数名,以避免类似不必要的麻烦发生。转载 2014-04-09 13:50:36 · 1151 阅读 · 0 评论 -
VC++的链接错误LNK2005
VC++的链接错误LNK2005编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。造成LNK2005错误主要有以下几种情况:1. 重复定义全局变量。可能存在两种情况:A、 对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对转载 2014-04-24 11:01:04 · 393 阅读 · 0 评论 -
error BK1506
http://hi.baidu.com/stupidboys1027/item/5c477b31e195dbf2a884289bBSCMAKE: error BK1506BSCMAKE: error BK1506 搜了一下,不少说把Debug目录删除,重新编译一下,在我这里没有效果,继续搜索解决方法:You could try by turnin转载 2014-03-27 08:56:06 · 754 阅读 · 0 评论 -
C++ ini文件的读取与写入
//读取.ini文件中的内容BOOL CDlgCamIP::OnInitDialog(){CDialog::OnInitDialog();//读取配置文件信息CString dir = GetModuleDir()+"\\client.ini";memset(&g_netInfo, 0, sizeof(g_netInfo));GetPrivateProfileStrin原创 2014-04-21 19:48:53 · 2260 阅读 · 0 评论 -
C++ 将IP地址的各段数字取出来
void CDlgCamIP::CompareIP(char* pCamIpBuf){pCamIpBuf = ”192.168.5.234“;int i=0, j=0; char camNum[32]={0};char saveCamBuf1[32] = {0};char saveCamBuf2[32] = {0};char saveCamBuf3[32] = {0};原创 2014-04-21 14:39:11 · 3214 阅读 · 0 评论 -
MFC 单选按钮布局
CRect rcRadio;//左边单选按钮rcRadio.left = rc.left + 60;rcRadio.top = rc.top + 120;rcRadio.right = rcRadio.left + 200;rcRadio.bottom= rcRadio.top + 30;if (((CButton*)GetDlgItem(IDC_RADIO原创 2014-03-26 16:01:03 · 650 阅读 · 0 评论 -
CImage 贴背景图jpg格式
void CflycamToolDlg::InitUI(){m_bkpng.Load("image/bg1.jpg");}void CflycamToolDlg::OnPaint(){CPaintDC dc(this);if (!m_bkpng.IsNull())m_bkpng.Draw(dc, 0, 0, 800, 600);}原创 2014-04-16 15:25:44 · 519 阅读 · 0 评论 -
填写编辑框中的内容
huoGetDlgItem(IDC_IPADDRCAMIP)->SetWindowText(g_netInfo.Camera_IP);原创 2014-04-20 13:16:36 · 455 阅读 · 0 评论 -
MFC读取.ini文件
BOOL CDlgCamIP::OnInitDialog(){CDialog::OnInitDialog();//读取配置文件信息CString dir = GetModuleDir()+"\\client.ini";memset(&g_netInfo, 0, sizeof(g_netInfo));GetPrivateProfileString("camerainfo"原创 2014-04-20 14:44:12 · 633 阅读 · 0 评论 -
error C1083异常
出现以上错误,只需要将C/C++-->General中的目录更改为自己本机存放该项目的目录。此处程序员将该处的目录写成了绝对目录,所以,在自己电脑上用的时候,需要更改为我自己的E盘中的位置。更改后出现以下错误时,应该怎么改错呢?出现这个错误需要将“User MFC in a static Library”更改为“Use MFC in a Shared DLL原创 2014-03-24 20:59:35 · 1078 阅读 · 0 评论 -
出现主对话框之前,先弹出一个对话框:
出现主对话框之前,先弹出一个对话框:原创 2014-04-18 15:57:33 · 618 阅读 · 0 评论 -
恢复vs2008默认的设置方法
打开:开始\程序\Microsoft Visual Studio 2008\Visual Studio Tools\Visual Studio 2008 命令提示输入命令:devenv /resetskippkgs这是一个VS2008恢复默认设置的命令,如果VS出现异常,执行这个命令,有可能会解决。在VS命令提示符中执行(注,不是CMD的)转载 2014-04-02 17:46:15 · 576 阅读 · 0 评论 -
使用MFC CImage类绘制PNG图片时遇到的问题
为了测试CImage绘制PNG图片的效果,我们用截图软件截得一张360的界面,然后使用PhotoShop等工具在图片的周边加上了透明的区域,然后保存成PNG图片文件。CImage首先从文件中加载,即 CImage* m_pImgBk; ...... m_pImgBk = new CImage; m_pImgBk->Load( _T("res\\bk.pn转载 2014-04-02 17:20:00 · 738 阅读 · 0 评论 -
MFC 自定义消息 给主窗口发消息
自定义消息:1. 定义消息:#define WM_CHILD_WINDOW_MESSAGEWM_USER+22. 消息映射:afx_msg LRESULT OnChildWndMessage(WPARAM wParam, LPARAM lParam);2. 将消息映射到消息处理函数中:ON_MESSAGE(WM_CHILD_WINDOW_MESSAGE,原创 2014-04-02 16:48:38 · 2658 阅读 · 0 评论 -
ntohl(),htonl(),ntohs()
ntohl()是将一个无符号长整形数从网络字节顺序转换为主机字节顺序。转载 2014-04-30 10:09:02 · 579 阅读 · 0 评论 -
cannot convert parameter 1 from 'const char [] ' to 'const wchar_t * '的解决方法
CString a;int b;a.Format("%d", b);出现cannot convert parameter 1 from 'const char [] ' to 'const wchar_t * '的错误解决方法:cannot convert parameter 1 from 'const char [3] '转载 2014-03-29 17:45:04 · 4629 阅读 · 0 评论 -
异步套接字编程:
1. 异步套接字编程://①自定义消息#define UM_SOCK WM_USER+1 //②做一个消息响应函数的申明afx_msg voidOnSock(WPARAM, LPARAM); //在析构函数当中关闭套接字,释放与套接字相关的资源CChatDlg::~CChatDlg(){if(m_socket) c原创 2013-08-04 15:45:12 · 701 阅读 · 0 评论