随笔分类 -  C/C++

上一页 1 2 3 4 下一页
三种不同的方式来保存分割后的字符串--strtok
摘要:主文件:/* 功能:主要是实现字符串分割,并选择了三种不同的方式来保存结果。 最终证明:可能最方便的还是第一种方法(方便、快捷,不用自己做太多的工作,可以自己维护内存空间)*/#include <iostream>#include <vector>#include "z_string.h"using namespace std;void Spliter(char* pSrc, char* spliter, vector<string>& v){ char* token = NULL; char* temp = new char[s 阅读全文
posted @ 2011-02-26 20:12 清清飞扬 阅读(2618) 评论(0) 推荐(1) 编辑
删除指定文件夹下N天及之前的日志文件
摘要:/*功能:删除nDays天及之前的日志文件@nDays: 0-不删除日志,3-删除3天及之前的日志(保留今天、昨天、前天的日志) ...void CRecordLog::ClearLog(UINT nDays)// 删除N天前的日志{if (nDays > 0){WIN32_FIND_DATA FindFileData;CString sAllFile = m_sLogFolder + "\\*.log";HANDLE hFind = ::FindFirstFile(sAllFile, &FindFileData);if(INVALID_HANDLE_VALU 阅读全文
posted @ 2011-02-26 14:38 清清飞扬 阅读(661) 评论(0) 推荐(0) 编辑
一个最简单的服务端和客户端(用CSocket)
摘要:功能:服务器端程序处于监听状态,等待客户端连接。客户端发来数据后,服务端回发一个消息,同时关闭连接!源码下载服务器(采用一个监听线程)核心代码:BOOL CListenThread::InitInstance(){// if (!AfxSocketInit())// {// AfxMessageBox(IDP_SOCKETS_INIT_FAILED);// return FALSE;// } m_bListening = TRUE; // 线程启动时默认处于监听状态 while(1) { if(m_bListening) { StartListen(); } } return TRUE;}in 阅读全文
posted @ 2011-02-25 00:27 清清飞扬 阅读(2962) 评论(0) 推荐(0) 编辑
msado15.tlh中重要的枚举(完整版)
摘要:enum CursorTypeEnum{ adOpenUnspecified = -1, adOpenForwardOnly = 0, adOpenKeyset = 1, adOpenDynamic = 2, adOpenStatic = 3};enum CursorOptionEnum{ adHoldRecords = 256, adMovePrevious = 512, adAddNew = 16778240, adDelete = 16779264, adUpdate = 16809984, adBookmark = 8192, adApproxPosition = 16384, adU 阅读全文
posted @ 2011-02-24 15:56 清清飞扬 阅读(1464) 评论(0) 推荐(0) 编辑
浅议C++/CLI的gcnew关键字
摘要:C++/CLI中使用gcnew关键字表示在托管堆上分配内存,并且为了与以前的指针区分,用^来替换* ,就语义上来说他们的区别大致如下:  1. gcnew返回的是一个句柄(Handle),而new返回的是实际的内存地址.   2. gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放.  当然,从程序员的角度来说,管它是句柄还是什么其他的东西,总跑不掉是对某块内存地址的引用,实际上我们都可以理解成指针.下面我们就写一段代码来测试一下好了.using namespace System;ref class Foo{public: Foo() { System::Console: 阅读全文
posted @ 2011-02-20 15:33 清清飞扬 阅读(1615) 评论(2) 推荐(1) 编辑
BSTR 、LPCTSTR、CString附C语言串基本操作
摘要:CString ,BSTR ,LPCTSTR之间关系和区别CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPCTSTR;vc++中各种字符串的表示法首先char* 是指向ANSI字符数组的指针,其中每个字符占据8位(有效数据是除掉最高位的其他7位),这里保持了与传统的C,C++的兼容。LP的含义是长指针(lon 阅读全文
posted @ 2011-02-19 19:59 清清飞扬 阅读(1669) 评论(0) 推荐(1) 编辑
在VC中调用 WebService (非托管)
摘要:下载源代码一、使用Visual Studio.NET调用WebService  很多次看到网友讨论VC中调用WebService的问题,其实在Visual Studio.Net(下称VS.NET)及其以后的版本中调用WebService已经变得相当简单。你所要做的只是“找到 WebService的发布地址”,然后将其引用添加到VC项目中即可。接下来VS.NET帮你生成的代理类,会帮你搞定一大堆的麻烦事,包括:网络调用、数据传递等等;什么SOAP啊、网络啊,你都可以不管。 二、托管还是非托管?  对于VS.NET生成的C++代理类,很多人都认为必须使用托管代码,其实事实并 阅读全文
posted @ 2011-02-18 09:49 清清飞扬 阅读(2520) 评论(0) 推荐(0) 编辑
__int64及_atoi64使用
摘要:将字符串转换成整数时,一般会用_ttoi()或_atoi(),但有时字符串转换后的整数比较大时,用int来保存结果可能就不够了。这时,我们得用_atoi64()来转换,而且保存结果的数据类型要用__int64。看下面的例子:通过上面的_atoi64可以保存结果,但是用cout输出却无法输出(编译错误,因为没有重载<<用来输出__int64的)。用printf可以正确输出__int64类型的数据。 阅读全文
posted @ 2011-02-15 17:43 清清飞扬 阅读(7351) 评论(0) 推荐(0) 编辑
windows控制台程序中使用MessageBox()
摘要:如何在windows控制台程序中使用MessageBox()呢?代码如下:Project->Settings中,必须设置为“Not using MFC”! 阅读全文
posted @ 2011-02-15 13:18 清清飞扬 阅读(1189) 评论(0) 推荐(0) 编辑
C++各大有名库的介绍
摘要:在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。1、C++标准库已被实践证明为有工业级别强度的佳作。1、Dinkumware C++ Library 参考站点:http://www.dinkumware.com/P.J. Plauger编写的高品质的标准库。P.J. Plauger博士 阅读全文
posted @ 2011-02-14 16:16 清清飞扬 阅读(1020) 评论(0) 推荐(0) 编辑
vector大小
摘要:简单的程序,测试vector的大小[c++]:输出结果:sizeof(vector<char>) = 16sizeof(vector<int>) = 16sizeof(vector<short>) = 16sizeof(vector<double>) = 16sizeof(vector<long>) = 16sizeof(vector<float>) = 16sizeof(Node) = 20sizeof(Node) = 20sizeof(v) = 1610 20 25修改了下主函数:int main(){DisplayS 阅读全文
posted @ 2011-02-14 12:57 清清飞扬 阅读(2736) 评论(0) 推荐(0) 编辑
CFileFind::GetFileName
摘要:ExampleExample OutputAssumes that the file C:\WINDOWS\SYSTEM.INI exists: 阅读全文
posted @ 2011-01-29 13:43 清清飞扬 阅读(745) 评论(0) 推荐(0) 编辑
几个非常有用的函数-获取可执行文件所在的目录及读取配置文件
摘要:若有需要,再添加对这几个函数的声明: 阅读全文
posted @ 2011-01-28 23:44 清清飞扬 阅读(627) 评论(0) 推荐(0) 编辑
discarded by /OPT:REF (VC调试警告)
摘要:今天编译Relese版本项目是遇到【LINK : warning LNK4089: all references to "GDI32.dll" discarded by /OPT:REF】这种警告解决办法:1.Project--Setting--Link 选项卡,在Project Options 处添加 /opt:noref2.Project--Setting--Link 选项卡,在Project Options 处添加 /IGNORE:40893.在程序中添加 #pragma warning(disable:4089)注意:因为使用【/IGNORE:4089】生成的文件大小比【/opt:no 阅读全文
posted @ 2011-01-28 22:28 清清飞扬 阅读(4428) 评论(0) 推荐(1) 编辑
使用CInternetSession和CHttpFile提取网页源码
摘要:程序界面:为编辑框添加一个对应的变量:m_sUrl,再为Button1添加点击事件,主要代码如下: 阅读全文
posted @ 2011-01-07 10:40 清清飞扬 阅读(6058) 评论(0) 推荐(1) 编辑
在文件尾追加数据
摘要:MFC在文件尾追加数据:其中,GetExePath()代码如下: 阅读全文
posted @ 2011-01-07 09:56 清清飞扬 阅读(744) 评论(0) 推荐(0) 编辑
获取.EXE可执行文件所在的目录路径
摘要:获取.EXE可执行文件所在的目录路径: 阅读全文
posted @ 2011-01-04 13:44 清清飞扬 阅读(2346) 评论(0) 推荐(0) 编辑
VC add files to folder失效问题
摘要:VC—add files to folder失效,郁闷了很久,最后网上一搜,都说的office2007惹的祸。抱着试一试的心理,卸载了刚刚装上没多久,才用习惯的office2007,重启后发现又好使了! 其实office2007还是很好用的,可惜了啊!卸了之后再到网上查,发现还有解决冲突的办法:不知从什么时候开始,VC6.0不听话了,open-file弹出msdev.exe应用程序错误,“0×73d311c7”指令引用的“0×00000004”内存,该内存不能为“read”。而且右键添加文件到工程的时候VC6.0报错异常退出,打开workplace没有问题。 于是卸载了VC6.0然后再重新安 阅读全文
posted @ 2011-01-02 14:00 清清飞扬 阅读(4285) 评论(2) 推荐(0) 编辑
VC++对话框中添加状态栏的方法
摘要:方法一:1.添加成员变量CStatusBarCtrl m_StatusBar;2.在OnInitDialog()中加入: m_StatusBar.Create(WS_CHILD|WS_VISIBLE|SBT_OWNERDRAW, CRect(0,0,0,0), this, 0); int strPartDim[3]= {100, 200, -1}; //分割数量 m_StatusBar.SetParts(3, strPartDim); //设置状态栏文本 m_StatusBar.SetText("分栏一", 0, 0); m_StatusBar.SetText("分栏二", 1, 0); m 阅读全文
posted @ 2010-12-21 13:03 清清飞扬 阅读(4780) 评论(0) 推荐(0) 编辑
vc文件读写,用fstream和CStdioFile
摘要:vc文件读写,用fstream和CStdioFile。第一种,用fstream:另一种,使用CStdioFile,主要代码如下(完整源码):界面如下: 阅读全文
posted @ 2010-12-19 23:50 清清飞扬 阅读(2740) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 下一页