基础C++
abcpanpeng
爱好:踢球与编程
展开
-
宽字符串函数与ASSII字符串函数对比表
字符分类: 宽字符函数 普通C函数 描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测试字符是否是字母 iswcntrl() iscntrl() 测试字符是否是控制符 iswdigit() isdigit()原创 2007-06-26 15:25:00 · 3664 阅读 · 2 评论 -
boost 序列化成 xml文件
<br />#include "stdafx.h"<br />#include <boost/archive/xml_oarchive.hpp><br />#include <boost/archive/xml_iarchive.hpp><br />#include <boost/serialization/map.hpp><br />#include <fstream><br />#include <iostream><br />class TestClass<br />{<br />public:<br转载 2011-04-29 16:14:00 · 999 阅读 · 0 评论 -
Boost:使用shared_ptr封装资源句柄
<br />Boost:使用shared_ptr封装资源句柄<br />boost 2: shared_ptr wraps resource handles(By peterchen)<br /> 翻译 masterlee<br /> 使用boost,我们可以写出非常完美的包装GDI和其他句柄的代码,而且代码量又很少。<br /><br />HandleRef class template - 2.72 Kb<br />Sample project (contains code snippets, an转载 2011-04-29 16:32:00 · 822 阅读 · 0 评论 -
boost vs2005编译
<br />许多新人对于编译BOOST感到无从下手,甚至因此而放弃使用BOOST,那真的太可惜了,下面我把一些常用的BOOST编译方法贴于此,同时也作为自己的笔记。<br />首先下载bjam.exe,复制到 $BOOST$ 目录下。或者自己生成bjam,打开Visual Studio 2008 命令提示窗口$BOOST$/tools/jam/src,执行 build.bat 会在$BOOST$/tools/jam/src/bin.ntx86 生成 bjam.exe 文件。复制文件 bjam.exe 文件转载 2011-04-29 16:07:00 · 753 阅读 · 0 评论 -
boost bind使用指南
<br />bind - boost<br />头文件: boost/bind.hpp<br />bind 是一组重载的函数模板.<br />用来向一个函数(或函数对象)绑定某些参数. <br />bind的返回值是一个函数对象. <br />它的源文件太长了. 看不下去. 这里只记下它的用法: <br />9.1 对于普通函数<br />假如有函数 fun() 如下: <br /> void fun(int x, int y) {<br /> cout << x << ", " << y << endl转载 2011-04-29 16:10:00 · 1221 阅读 · 0 评论 -
一个跨平台的 C++ 内存泄漏检测器
<br />2004 年 3 月 01 日<br />内存泄漏对于C/C++程序员来说也可以算作是个永恒的话题了吧。在Windows下,MFC的一个很有用的功能就是能在程序运行结束时报告是否发生了内存泄漏。在Linux下,相对来说就没有那么容易使用的解决方案了:像mpatrol之类的现有工具,易用性、附加开销和性能都不是很理想。本文实现一个极易于使用、跨平台的C++内存泄漏检测器。并对相关的技术问题作一下探讨。<br />基本使用<br />对于下面这样的一个简单程序test.cpp:<br />int m转载 2011-04-29 16:16:00 · 602 阅读 · 0 评论 -
走进Boost [Boost 使用入门]
<br />作者:阿炯 <br /> <br />•走进Boost [Boost 使用入门] <br />◦0 摘要 <br />◦1 Boost简介 <br />◦2 Boost下载和Boost安装 <br />◦3 Boost组件lexical_cast <br />■3.1 字符串→数值 <br />■3.2 数值→字符串 <br />■3.3 异常 <br />■3.4 注意事项 <br />◦4 小结 <br />◦5 注释 <br />0 摘要 <br />-------------------转载 2011-04-29 16:26:00 · 832 阅读 · 0 评论 -
Boost:使用shared_ptr封装资源句柄
<br />Boost:使用shared_ptr封装资源句柄<br />boost 2: shared_ptr wraps resource handles(By peterchen)<br /> 翻译 masterlee<br /> 使用boost,我们可以写出非常完美的包装GDI和其他句柄的代码,而且代码量又很少。<br /><br />HandleRef class template - 2.72 Kb<br />Sample project (contains code snippets, an转载 2011-04-29 16:35:00 · 833 阅读 · 0 评论 -
在VS2005中配置boost库
<br />最简单的一种配置流程:<br /> 1. 下载boost,解压缩:可到www.boost.org中找,目前boost的最新版本为boost_1_35_0;假设将其解压至D:/boost/boost_1_35_0/目录中。<br />2. 查看D:/Boost/boost_1_35_0/libs/regex/build目录中应该存在一个vc8.mak文件,是用于build的配置文件。 <br />3. 打开系统的“开始/程序/Microsoft Visual Studio2005/Visual S转载 2011-04-30 00:25:00 · 774 阅读 · 0 评论 -
ejabberd、jabber、jabberd、xmpp辨析
Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用。 XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。XM转载 2012-03-20 11:15:05 · 2584 阅读 · 0 评论 -
Vc动态切换IE9标签(选项卡)
//相关头文件 Add 1210#include #include #pragma comment(lib,"oleacc.lib")//全局变量 Add 1210HWND hWndMainWindow;IAccessible *paccMainWindow = NULL;IAccessible *paccChildWindow = NULL;HRESULT hr;原创 2012-10-25 10:09:48 · 2260 阅读 · 0 评论 -
VC++实现获取进程端口检测木马
我们都知道病毒木马都要与外面通信,如何检测呢,今天我们来时间检测进程端口来检测木马请见代码与注释[cpp] view plaincopyprint?#include #include #include #include #pragma comment(lib, "ws2_32.lib") //---------转载 2013-01-01 13:44:02 · 2237 阅读 · 0 评论 -
VC++实现枚举进程与模块
[cpp] view plaincopyprint?#pragma once #define _WIN32_WINNT 0x0500 #include"windows.h" #include"tlhelp32.h" #include"stdio.h" #include"NativeApi.h" #include"wchar.h" #include"转载 2013-01-01 13:57:30 · 1136 阅读 · 0 评论 -
一些开源网站
一些开源网站http://code.ijinshan.com/ http://search.csdn.net/CSDN搜索,CSDN还是有非常多的编程资源的,用它的搜索能搜出不少东西。代码类别也比较全面。http://snippets.org/简单实用的代码收集网站,强力推荐。比如你要找个DES加密,要找个数据压缩,找个INI文件操作的C代码等,均能手到擒来。转载 2013-01-19 13:08:25 · 1023 阅读 · 0 评论 -
BP神经网络算法学习
BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。一个神经网络的结构示意图如下所示。BP神经网络模型拓扑结构包括输入层(input)、隐层转载 2013-01-20 14:40:43 · 1955 阅读 · 0 评论 -
VC++、MFC中最好的开源项目
VC++、MFC中最好的开源项目作者:Sudhir Mangla改编:http://www.okbase.net/home/haobao 介绍一下用VC++/MFC写的最好的开源项目。Sourceforge.net中有许多高质量的VC++开源项目,我列举了一些可以作为VC++程序员的参考。一、优秀的开源项目7-Zip (http转载 2013-01-19 13:25:19 · 1673 阅读 · 0 评论 -
GUID及其简易生成代码(c++)
<br />GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。<br /> <br /> 通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。<br /> <br /> GUID的唯一缺陷在于生成的结果串会比较大。<br /> <br />#include <afx.h><br />#include <ole2.h><br />#include <iostream.h><br />CStr转载 2011-03-27 12:46:00 · 2462 阅读 · 0 评论 -
作业管理
StartRestrictedProcess 函数,我们利用该函数可以把一个进程放入一个作业中。<br />void StartRestrictedProcess() {<br /> // 1.首先,我们会校验一个当前的进程判断它是否是已经在一个现有作业下控制运行了。 BOOL bInJob = FALSE; IsProcessInJob(GetCurrentProcess(), NULL, &bInJob); if (bInJob) { MessageBox(NULL, TEXT转载 2011-03-11 10:48:00 · 1102 阅读 · 0 评论 -
Win32结构化异常处理(SEH)——终止处理程序(__try/__finally)
<br /><br />环境:VC++6.0, Windows XP SP3<br /> 当我们想编写一个健壮的程序时,我们会用到异常处理,对各种异常进行考虑并进行处理。现在在各种语言都有自己的异常处理机制,比如C++的try, catch, throw,JAVA也一样。不过它们的实现都要基于OS。<br /> Microsoft为了使系统程序和应用程序更加健壮,把异常处理加入了Windows。这里的异常处理就是SEH, 结构化异常处理(Structured Exception转载 2011-03-07 16:33:00 · 1560 阅读 · 0 评论 -
Visual C++ 中调用其他应用程序的方法(函数) (转rockybug)
三个SDK函数WinExec, ShellExecute,CreateProcess实现调用其他程序的方法Visual C++ 中调用其他应用程序的方法(函数) 三个SDK函数: WinExec, ShellExecute,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess转载 2007-06-07 16:13:00 · 1399 阅读 · 0 评论 -
Visual C++ 学习笔记(三)表达式和语句 (转rockybug)
表达式是由操作符、操作数和标点符号序列,其目的是用来说明一个计算过程。 左值和右值左值(left value):出现在赋值表达式的左边的表达式,其作用为存放数据空间,且存放是允许的。缩写:lvalue右值(right value):只能出现在赋值表达式的右边。缩写:rvalue左值也可以作为右值表达式,变量可以是左值,也可以为右值,但常量只能是右值。a=b // b是变量,在这里是左值,也可转载 2007-06-07 16:12:00 · 975 阅读 · 0 评论 -
VC中常用的20种方法
打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL); 关闭CD_ROM mciSendString("Set cdAudio door closed wait",NULL,0,NULL); 关闭计算机 OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构 OsVersionIn原创 2007-06-07 16:15:00 · 706 阅读 · 0 评论 -
Visual C++ 学习笔记( 二 ) 基本数据类型与输入输出 (转rockybug)
基本数据类型:整型【int】、字符型【单字符型 char 、宽字符型 w_char】、实型【单精度型 float 、双精度型 double】、逻辑型【bool】非基本数据类型:数组【type []】、指针【type *】、空类型【void】、结构【struct】、联合【union】、枚据【enum】、类【class】修饰符:长型符【long】、短型符【short】、有符号【signed】、无符号【转载 2007-06-07 16:10:00 · 1075 阅读 · 0 评论 -
C++常用字符串处理函数及使用示例(ASCII)
char *strcpy(char *s1, const char *s2) 将字符串s2复制到字符串数组s1中,返回s1的值char *strncpy(char *s1, const char *s2, size_t n) 将字符串s2中最多n个字符复制到字符串数组s1中,返回s1的值char *strcat(char *s1, const char *s2)将字符串s2添加到字符串s转载 2007-06-14 18:26:00 · 2761 阅读 · 0 评论 -
Dll(动态链接库)学习笔记
DLL(Dynamic Link Libraries)专题: 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序转载 2008-10-26 22:58:00 · 690 阅读 · 0 评论 -
Visual C++ MFC 中常用宏的含义
AND_CATCHAND_CATCH AND_CATCH(exception_class,exception _object_point_name) 说明:定义一个代码块,它用于获取废除当前TRY块中的附加异常类型。使用CATCH宏以获得一个异常类型,然后使用AND_CATCH宏获得随后的异常处理代码可以访问异常对象(若合适的话)已得到关于异常的特别原因的更多消息。在AND_CA转载 2008-10-26 22:53:00 · 546 阅读 · 0 评论 -
使用::std::vector作为管理动态数组的优先选择
关键词: 动态数组 ::std::vector CArray 1. CArray ?CArray和 ::std::vector一样,都是模板类,用于管理任意类型的对象的动态数组。都在解构时释放所管理的动态内存。因此都可以用于代替手工动态数组管理。但是,CArray是在 C++转载 2008-10-26 22:55:00 · 1196 阅读 · 0 评论 -
STL vector 容器介绍
介绍std::vector,并且讨论它在STL中的算法和条件函数remove_if()。 Download Console Demo - 6.19 Kb Download MFC Demo - 14.6 Kb 介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remo转载 2008-10-26 22:48:00 · 1384 阅读 · 1 评论 -
集合类使用心得
MFC提供集合类(Collect)专门负责数据对象的存储和管理,MFC的集合类分为三类,分别用于处理三类不同性质的数据结构:表(List,类似于数据结构的双链表),数组(Array)和映射(Map,具有类似字典的功能). 一,数组使用心得 原型: templateTYPE, class ARG_TYPE > class CArray : public Cobject转载 2008-10-26 22:50:00 · 1497 阅读 · 0 评论 -
map类的应用
STL是标准C++系统的一组模板类,使用STL模板类最大的好处就是在各种C++编译器上都通用。在STL模板类中,用于线性数据存储管理的类主要有vector, list, map 等等。本文主要针对map对象,结合自己学习该对象的过程,讲解一下具体用法。本人初学,水平有限,讲解差错之处,请大家多多批评指正。map对象所实现的功能跟MFC得CMap相似,但是根据一些文章的介绍和论述,MFC CMap在转载 2009-12-09 21:01:00 · 1320 阅读 · 0 评论 -
Base64编码解码程序(C语言版)
#include #include ////////////////////////////////////////////////////////////////////////////////////////////Base64 编码int Base64Encode( char *OrgString, char *Base64String, int OrgStringLen ) {// Org转载 2010-05-15 17:03:00 · 2340 阅读 · 0 评论 -
函数及类成员函数回调模板化
<br />///////////////////////////////////////////////////<br />// 作者:黄崇 潘鹏 <br />// 时间:2010-11-29<br />// 功能:回调模板化<br />// 转载请注明出处,谢谢<br />///////////////////////////////////////////////////<br />//<br />// 使用方法<br />/*<br />class A<br />{<br />public:<br原创 2010-11-30 19:51:00 · 814 阅读 · 1 评论 -
异常处理与MiniDump详解(2) 智能指针与C++异常
<br />异常处理与MiniDump详解(2) 智能指针与C++异常<br />write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie<br />讨论新闻组及文件一、 综述<br />《异常处理与MiniDump详解(1) C++异常》稍微回顾了下C++异常的语法及其类似于函数参数传递的抛出异常对象的copy,引用语义,但是有个问题没有详细讲,那就是C++异常的绝佳搭档,智能指针。在没有智能指针的时候会感觉C++的异常少了一个用于释放资源的finally语转载 2011-03-07 16:52:00 · 888 阅读 · 0 评论 -
Win32结构化异常处理(SEH)——异常处理程序(__try/__except)
<br /><br />环境:VC++6.0, Windows XP SP3<br /> 上一篇中,我们看到了如何实现一个终止处理程序,和系统级的异常处理程序,在这一篇中,我们要着重看一下VC++6.0的异常处理程序是如何实现的。<br /> 这里要用的结构体有:<br /> <br /> typedef struct _SCOPETABLE<br /> {<br /> DWORD previousTryLevel;<br /> DWORD转载 2011-03-07 16:21:00 · 2867 阅读 · 0 评论 -
显示器定时开启和关闭小工具
前几天,按照学院要求,学校几个LED屏幕要连续几天播放指定内容PPT,当时没有用LED自带的管理软件(因为那个软件操作起来太麻烦了),没有设置定时开启关闭显示器按钮。半夜屏幕还是开启的,结果晚上1点多领导直接拍照发信息过来,表示要加强管理。 后面想处理这个事情的第一想法就是网上找相关的程序工具,可以设置时间段,定时开启和关闭。安排部门维护的同事找了一下,竟然没有...原创 2019-06-13 09:32:57 · 4393 阅读 · 2 评论