![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
sealbird
这个作者很懒,什么都没留下…
展开
-
临时记录
1\ c开发包典型的名字是 glibc-devel-something.rpm2\ emacs http://ww.gnu.org lclint http://lclint.cs.virginia.edu原创 2010-12-15 15:37:00 · 66 阅读 · 0 评论 -
[转载]strftime() 函数_时间格式
[转载]strftime() 函数 (2007-12-06 15:48) 分类: C和C++ strftime() 函数将时间格式化我们可以使用strftime()函数将时间格式化为我们想要的格式。它的原型如下:size_t strftime( char *strDest, size_t maxsize, const char *format...原创 2011-01-12 11:21:30 · 113 阅读 · 0 评论 -
标准C++中string类及STL容器类简介
标准C++中string类及STL容器类简介 一.标准C++库字符串类std::string的用法 [code="java"]#includestd::string s1;std::string s3(s2);std::string s2("this is a string");begin 得到指向字符串开头的Iterat...原创 2010-12-01 17:22:19 · 89 阅读 · 0 评论 -
C++技巧之operator操作符
这篇博文是以前很久写的,贴在我的早期一个blog中,今天google一下,发现还真有不少人转载,可惜并不注明出处。那时觉得operator比较好玩。C++有时它的确是个耐玩的东东。operator它有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换)。1.operator overloadingC++可以通...原创 2010-12-01 17:27:15 · 180 阅读 · 0 评论 -
头文件iomanip
沉思往事立残阳,当时只道是寻常[code="java"]头文件iomanip主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。它是I/O流控制头文 件,就像C里面的格式化输出一样.以下是一些常见的控制函数的: dec 置基数为10 相当于"%d" hex 置基数为16 相当于"%X" oct 置基数为...原创 2010-12-03 11:18:56 · 151 阅读 · 0 评论 -
C++中cstdlib库
用到下列东西时要用 #include [code="java"]字符转换函数:atof,atoi,atol,strtod,strtol,strtoul 伪随机数函数:rand,srand动态分配内存函数:calloc,free,malloc,realloc环境函数:abort,atexit,exit,getenv,system查找,分类函数:...原创 2010-12-03 15:51:30 · 2324 阅读 · 0 评论 -
ostrstream和ostringstream的区别
1. string stream classes[code="java"]basic_istringstream, 特化版本istringstream, wistringstreambasic_ostringstream, 特化版本ostringstream, wostringstreambasic_stringstream, 特化版本stringstream, wstringst...原创 2010-12-03 16:52:35 · 1389 阅读 · 0 评论 -
浅谈C++中的对象指针和对象引用
#include using namespace std;/**1\指向类数据成员的指针2\指向类成员函数的指针3\一个对象指针****************/[code="java"]class A { public: int fun (int b) { return a*c+b; } A(int i) {...原创 2010-12-05 21:34:49 · 121 阅读 · 0 评论 -
指针的一个应用
//设计一个函数:void find1(char array[], char search, char *pa)//要求:这个函数参数中的数组array是以0值为结束的字符串,//要求在字符串array中查找字符是参数search里的字符。//如果找到,函数通过第三个参数(pa)返回值为array字符串中第一个找到的字符的地址。//如果没找到,则为pa为0。[code="j...原创 2010-12-05 23:33:21 · 185 阅读 · 0 评论 -
堆与栈内存
堆内存栈内存一、[code="java"]char *GetMemory(int num){char *p = (char *)malloc(sizeof(char)*num);return p;}void main(void){char *str = NULL;str = GetMemory(100);strcpy(str, "hello wo...原创 2010-12-06 00:13:53 · 82 阅读 · 0 评论 -
C++命名空间namespace
[code="java"]在C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好地控制标识符的作用域。 MFC中并没有使用命名空间,但是在.NET框架、MC++和C++/CLI...原创 2010-12-06 10:27:02 · 79 阅读 · 0 评论 -
#define _CLNEW new(__FILE__, __LINE__)记录使用了new的文件名及行号,调试用
//Macro for creating new objects#if defined(LUCENE_ENABLE_MEMLEAKTRACKING) #define _CLNEW new(__FILE__, __LINE__) #define LUCENE_BASE public CL_NS(debug)::LuceneBase#elif defined(LUCENE_EN...原创 2010-12-06 23:40:33 · 1149 阅读 · 1 评论 -
wchar_t与char转换
1\wchar_t是Unicode用的宽字符类型。用双字表示的字符.汉字字符即为双字。 可以用Win32Api的MultiByteToWideChar/WideCharToMultiByte或C运行库的mbstowcs/wcstombs系列函数对wchar_t* 和 char* 之间进行转换。 a: wchar_t是unicode字符和char不能直接转换 可用wi...原创 2010-12-07 17:23:41 · 196 阅读 · 0 评论 -
wcsncpy 及 wcscpy 函数用法
wcsncpywcscpy 参考 重要: 1\http://www.9linux.com/wcsncpy.html2:http://www.cnblogs.com/finallyliuyu/archive/2010/09/18/1830444.html http://www.cnblogs.com/finallyliuyu/archive/2010/09/18/1830219...原创 2010-12-07 23:46:52 · 1571 阅读 · 0 评论 -
__stdcall,__cdecl,__fastcall的区别
今天写线程函数时,发现msdn中对ThreadProc的定义有要求:DWORD WINAPI ThreadProc(LPVOID lpParameter);今天写线程函数时,发现msdn中对ThreadProc的定义有要求:DWORD WINAPI ThreadProc(LPVOID lpParameter);不解为什么要用WINAPI宏定义,查了后发现下面的定义。于是乎需要区别__s...原创 2010-12-08 11:27:10 · 82 阅读 · 0 评论 -
CLucene加入ICTCLAS中文分词
[code="java"] 最近,我在开发桌面搜索软件,其中桌面搜索最核心的部分就是全文检索。之前已经完成了一个初始版本。全文检索是使用的中科院计算所郭博士的Firtex,后来有位老师说Firtex最近没人在维护,建议使用CLucene,于是我老板就提议再开发另一个版本——CLucene版的桌面搜索。CLucene是C++版的Lucene,提供全文检索的功能。在网上找了部分资料,主要...原创 2010-12-08 14:22:01 · 213 阅读 · 1 评论 -
[C++ VC] iconv库的使用
GB2312字符串转换为UTF-8的字符串,代码如下:[code="java"]#include #include #include int main(void){ unsigned char *src = "魅影追击和歌姬"; /* 需转换的字串 */ unsigned char dst[256] = {0}; /* 转换后的内容 */ ...原创 2010-12-08 15:10:55 · 838 阅读 · 0 评论 -
如何使用微软提供的TCHAR.H头文件
如何使用微软提供的TCHAR.H头文件?2010-06-09 19:58[code="java"]如果你现在写的代码使用的是SBCS (ASCII)字符集,但是过一段时间后某个客户跟你说他们现在的系统只支持Unicode (wide-character)字符集,你怎么办呢?问题的答案就在微软给我们提供的tchar.h头文件里面! 通过研究msdn知道,微软为了方便程序...原创 2010-12-08 15:56:26 · 534 阅读 · 0 评论 -
fork函数
[quote] 在linux中,只有一个函数可以创建子进程:fork。 #include #include pid_t fork(void); 由f o r k创建的新进程被称为子进程( child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父...原创 2011-01-11 13:23:49 · 80 阅读 · 0 评论 -
如何调试守护进程
[b]如何调试守护进程[/b]我写了个守护进程,可是如何用gdb 调试呢,我试了attach pid 方法 可是他不能让程序停住呀。 如何调试守护进程[b]ctrl+c就停住了 [/b]如何调试守护进程realy? 如何调试守护进程[b]守护进程通常都要通过一个daemon_init()类似的函数将进程转换为守护进程,你可以先将这个转换注释,将其作为...原创 2011-01-11 13:05:08 · 633 阅读 · 0 评论 -
放在函数后面的const是什么意思?
经常看到这样的定义: void f() const { ... } 放在函数名前面的const是在声明函数返回值是const~~ 放在后面表示在类中只有const 对象才可以调用const成员函数. ...原创 2010-12-17 16:13:47 · 166 阅读 · 0 评论 -
c, c++ 库调用相关知识
1。 重载是如何实现的? 几个同名的重载函数仍然是不同的函数,它们是如何区分的呢?我们自然想到函数接口的两个要素:参数与返回值。 如果同名函数的参数不同(包括类型、顺序不同),那么容易区别出它们是不同的函数。 如果同名函数仅仅是返回值类型不同,有时可以区分,有时却不能。例如: void Function(void); int Function (void);...原创 2010-12-29 13:41:32 · 94 阅读 · 0 评论 -
C和C++之间库的互相调用
C和C++之间库的互相调用 昨晚有个朋友问我关于在C中调用C++库的问题,今天午饭后,由于脖子痛的厉害而没有加入到我们组的“每天一战”的行列中去,所以正好将C和C++之间的库调用关系做个总结。1.extern "C"的理解:很多人认为"C"表示的C语言,实际并非如此,"C"表示的是一种链接约定,只是因C和C++语言之间的密切关系而在它们之间更多的应用而已。实际上Fortran和汇编...原创 2010-12-29 13:44:09 · 562 阅读 · 0 评论 -
#ifdef __cplusplus深度剖析
[code="c++"]时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #endif 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话...原创 2010-12-29 14:06:21 · 78 阅读 · 0 评论 -
__cplusplus的用处
[code="c++"]作者: Aprilgogo 发表日期: 2007-03-10 16:26 复制链接 经常在/usr/include目录下看到这种字句:Code:#ifdef __cplusplusextern "C" {#endif...#ifdef __cplusplus}#endif[Ctrl+A Se...原创 2010-12-29 14:07:20 · 107 阅读 · 0 评论 -
c++中__declspec用法总结
[code="c++"]c++中__declspec用法总结C++技术 2008-02-18 14:07:42 阅读3191 评论0 字号:大中小 订阅 .1. __declspec(align(16)) struct SS{ int a,b; }; 它与#pragma pack()是一对兄弟,前者规定了对齐的最小值,后者规定了对齐的最大值。同时出现时,前者优先级高。 __decl...原创 2010-12-29 17:47:12 · 75 阅读 · 0 评论 -
C++多线程入门
[code="c++"]第1节 背景为了更好的理解多线程的概念,先对进程,线程的概念背景做一下简单介绍。早期的计算机系统都只允许一个程序独占系统资源,一次只能执行一个程序。在大型机年代,计算能力是一种宝贵资源。对于资源拥有方来说,最好的生财之道自然是将同一资源同时租售给尽可能多的用户。最理想的情况是垄断全球计算市场。所以不难理解为何当年IBM预测“全球只要有4台计算机就够了”。...原创 2010-12-30 09:52:58 · 69 阅读 · 0 评论 -
linux平台上编译安装boost库
from [url]http://dev.firnow.com/course/3_program/c++/cppjs/20101102/547433.html[/url][b]linux平台上编译安装boost库[/b] [quote] 1.Boost库的下载地址:http://sourceforge.net/projects/boost/files/boost/1.44.0/2...原创 2011-01-06 09:33:21 · 136 阅读 · 0 评论 -
Boost和STL学习资料大全
from [url]http://blog.csdn.net/k2eats/archive/2008/09/06/2892948.aspx[/url][quote]Boost 库 学习指南Boost 中文站 Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,在C++社区中...原创 2011-01-06 09:38:58 · 115 阅读 · 0 评论 -
多核分布式队列的实现:“偷”与“自私”的运用
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://intelisn.blog.51cto.com/626310/130445 多核分布式队列的实现:"偷"与"自私"的运用 3. 本地化队列的实现思路要给线程指定一个本地化队列,通常的做法是先将创建好的队列放入一个数组中,然后给线程编号,从0开始进行编号,编号为0的线...原创 2011-01-06 11:38:12 · 95 阅读 · 0 评论 -
Linux下使用C/C++访问数据库
Linux下使用C/C++访问数据库——MySQL篇 最近打算写一套OA系统,为了方便进行数据库操作,特意抽出一周的时间来研究C/C++访问各种数据库的方法,并打算封装一套数据库操作类,现在奉上最简单的一部分:在Linux下访问MySQL数据库。 本文中使用的MySQL API代码为C语言,如果各位对C++有兴趣,可以考虑使用mysql++。一、配...原创 2011-01-07 16:19:37 · 194 阅读 · 0 评论 -
Linux下的管道编程技术-dup函数和dup2函数
from [url]http://www.xxlinux.com/linux/article/development/soft/20071214/13347.html [/url]时间:2007-12-14 11:43:26 来源:Linux联盟收集整理 作者: dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout...原创 2011-01-09 23:45:59 · 103 阅读 · 0 评论 -
linux信号机制之sigaction结构体浅析
linux 2009-02-20 16:47:00 阅读460 评论0 字号:大中小 订阅 转http://hi.baidu.com/phenix_yw/blog/item/6eb4ca391d1479f23a87ce19.html 信号安装函数sigaction(int signum,const struct sigaction *act,struc...原创 2011-01-10 00:27:12 · 185 阅读 · 0 评论 -
string, char*, int类型转换 , c++强制转化
一、以下是常用的几种类型互相之间的转换string 转 int..............................char* 转 int #include <stdlib.h> int atoi(const char *nptr); long atol(const char *nptr); long long atoll(const char...原创 2011-01-10 10:04:15 · 580 阅读 · 0 评论 -
如何在运行时确定对象类型(RTTI)
[quote]作者:NorthTibet RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类型的方法。本文将简略介绍 RTTI 的一些背景知识、描述 RTTI 的概念,并通过具体例子和代码介绍什么时候使用以及如何使用 RTTI;本文还将详细描述两个重要的 RTTI 运算符的使用方法,它们是 typeid 和...原创 2011-01-10 11:45:06 · 98 阅读 · 0 评论 -
c中的管道及复制描述符
1、[code="c++"] #include #include #include int main() { printf("======0========"); sleep(4); int pfds[2]; if ( pipe(pfds) == 0 ){ i...原创 2011-01-10 17:22:35 · 274 阅读 · 0 评论 -
UNIX管道编程——使用pipe函数,dup函数,dup2函数
[code="c++"]2009-12-29 11:46管道在unix类系统中是一个很重要的概念,文件的重定向就是使用管道来实现的,在shell中也提供了"|"来直接使用管道,那么在C中,如何使用管道呢?管道在unix中是通过pipe函数来实现的。头文件: #include 函数定义:int pipe(int filedes[2]);函数说明:函数返回文件描述符,其中f...原创 2011-01-11 10:02:19 · 281 阅读 · 0 评论 -
C++ STL 中map编程
[code="java"]内容摘要 map中由于它内部有序,由红黑树保证,因此很多函数执行的时间复杂度都是log2N的,如果用map函数可以实现的功能,而STL Algorithm也可以完成该功能,建议用map自带函数,效率高一些。中国源码网内相关主题链接# C++多态的随笔# C/C++程序员常见面试题深入剖析# c++文件调用c头文件注意事项# 模版函数指针,C++...原创 2010-12-08 17:56:06 · 115 阅读 · 0 评论