/ Guard C code in headers, while including them from C++ / ifdef __cplusplus define G_BEGIN_DECLS extern "C" { define G_END_DECLS } else define G_BEGIN_DECLS define G_END_DECLS endif ifndef NULL ifdef __cplusplus define...
C++读写XML文件(Libxml2库)
C++程序有时候要读写XML文件, 这里介绍一个读写XML文件的库——Libxml2。 主页:[http://xmlsoft.org/index.html](http://xmlsoft.org/index.html) 入门教程很详细的:[http://jianlee.ylinux.org/Computer/C/libxml.htmlsec11](http://jianlee.ylinux.org/Computer/C/...
我的emacs 23配置
emacs-site插件文件夹可以在下面地址下载,里面也有个emacs配置不过是旧的。 [http://download.csdn.net/detail/tujiaw/3736262](http://download.csdn.net/detail/tujiaw/3736262) ;;设置一个读取插件的默认路径 (add-to-list 'load-path "~/emacs-site/") ;...
C/C++常用函数备份(持续更新)
有些函数在程序中用的比较多, 就记下来。当然个人写的,虽然经过了简单的测试,但难免有问题,慢慢完善!!! // C++11 获取当前毫秒数 long long GetCurrentMilliseconds() { std::chrono::time_point<std::chrono::system_clock> now = std::chrono::system_cl...
C语言日历
// 根据网友的一个问题整理的 // 输入年月,显示当前日历, 然后按下左右方向键会显示上个月或下个月的日历,按其他键两次退出 include<stdio.h> include<conio.h> include<dos.h> include<stdlib.h> bool IsLeapYear(int year) { if ((0==year%4 &...
STL transform用法
///////////////////////////////// template < class InputIterator, class OutputIterator, class UnaryOperator > OutputIterator transform ( InputIterator first1, // 源容器的起始地址 InputIterator last1, // 源容器的终止地址 Output...
封包和拆包
对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就是封包和拆包.自从我从事网络通讯编程工作以来(大概有三年的时间了),我一直在思索和改进封包和拆包的方法.下面就针对这个问题谈谈我的想法,抛砖引玉.若有不对,不妥之处,恳求大家指正.在此先谢过大家了. 为什么...
linux笔记
1>编译程序时加入-g参数, 就可以使用gdb ./a.out查看段错误位置 2>可执行程序所在的目录为当前目录 3>killall ibus-daemon //关闭ibus ibus-daemon -d -x -r //启动ibus 4>ibus输入法安装 sudo add-apt-repository ppa:shawn-p-huang/ppa sudo apt...
C++多态的实现原理
用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。 多态性是一个接口多种实现,是面向对象的核心。分为类的多态性和函数...
字符编解码的故事(ASCII,ANSI,Unicode,Utf-8)
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节"。 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出更多的状态,状态开始变来变...
C/C++面试题(整理下)
如何打印出当前源文件的文件名以及源文件的当前行号 答:cout << __FILE__; cout << __LINE__; __FILE__和__LINE__是系统预定义宏,这种宏并不是在某个文件中定义的,而是由编译器定义的。 main主函数执行完毕后,是否可能会再执行一段代码,给出说明 答:。。。。。。。...
C/C++面试题(整理上)
new、delete、malloc、free关系 答:new和delete,malloc和free都可以用来申请动态内存和释放内存。malloc和free是C/C++语言的标准库函数,new和delete是C++的运算符。new和delete在分配内存时会执行构造函数,delete在释放内存时会执行析构函数。 delete与delete []区别 答...
将字符串中的单词进行倒序
// 将字符串中的单词进行倒序,如:hello,world 倒序后:world,hello // 思路:先将整篇文章进行倒序,然后将所有单词进行倒序 // 整篇文章倒序:dlrow,olleh // 所有单词倒序:world,hello include <iostream> using namespace std; void ReverseString(char con...
将一个长度为n的字符串向左循环移动m位
// 将一个长度为n的字符串向左循环移动m位,如:hello,world向左移动3位就变成了lo,worldhel // 思路:把字符串切成长为m和n-m的两半,先分别对两部分进行逆序,最后对整个字符串逆序。 include <iostream> using namespace std; void ReverseString(char cons...
KMP算法
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函...
C++大数相乘
include <stdio.h> include <assert.h> void BigNumMultiply(const char str1, const char str2, char product) { assert(str1 != NULL && str2 != NULL && product != NULL); int i, j; int len1 = (int)strlen(str1); int len2 = (int)strlen(str2...
如何为包含指向(抽象)基类的指针的类定义拷贝构造函数或复制操作符
include <iostream> using namespace std; // 如何为包含指向(抽象)基类的指针的类定义拷贝构造函数或复制操作符 class Shape { public: Shape() { cout << "Shape::Shape()" << endl; } virtual ~Shape() { cout << "Shape::~Shape()" << e...
常用CRT字符串函数源码
////////////////////memcpy///////////////////////// void __cdecl memcpy ( void dst, const void src, size_t count ) { void ret = dst; while (count--) { (char )dst = (char...
对char与wchar_t一些疑惑的理解
对于char和wchar_t我们知道前者用来存储一个字节后者可以用来存储两个字节,所以像字母数字之类的ascii编码的字符都可以用char来存储。然而,汉字是需要两个字节才能存储的,所以用wchar_t才能符合我们的需求。但是我们经常看到char用于一些汉字方面的处理,这样就产生了一些疑...
我的书签
[唐巧的博客](http://blog.devtang.com/) - IOS技术,人生感悟,创业分享 [奇舞团博客](https://75team.com/post/list) - 360奇舞团(奇虎75Team)是 奇虎360公司Web平台部前端 [酷壳](https://coolshell.cn/) - 是...