
C/C++
文章平均质量分 65
qq_16490557
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++ string命令详解
1 string 使用1.1 充分使用string 操作符1.2 眼花缭乱的string find 函数1.3 string insert, replace, erase 2 string 和 C风格字符串3 string 和 Charactor Traits4 string 建议5 小结6 附录前言: string 的角色 C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿原创 2014-07-01 09:07:44 · 710 阅读 · 0 评论 -
C++ STL中的set如何对自定义类对象排序?
#include #include #include using namespace std;struct Word{ string str; int prob; Word( string s, int i):str(s),prob(i){}; Word(){};};struct MapCmp{ bool operator()(const Word s1, const Word s2) co原创 2014-07-01 09:18:23 · 1938 阅读 · 0 评论 -
mongoDB client初探
公司里使用mongoDB,一直没机会尝试。今天不是很忙,试了一下。 server端的话,下载下来就是可执行程序,直接 nohup ./mongod & 放到后台运行就ok了。 当然mongoshell也没问题。 接下来试了三种语言的client。 1 php 用pcel 安装 driver 代码:$mo = new Mongo();print_r($mo->listDBs());$co原创 2014-07-01 09:18:16 · 377 阅读 · 0 评论 -
C/C++ 通用 Makefile
############################################################################### # # Generic Makefile for C/C++ Program # # Author: whyglinux (whyglinux AT hotmail DOT com) # Date: 2006/03/04 # Desc原创 2014-07-01 09:17:27 · 357 阅读 · 0 评论 -
c/c++ 使用epoll
epolltest.cpp :#include #include #include #include #include #include #include #include #include #define MAX_EPOLL_FD_NUM 20000 #define SEND_BUFFER_LEN 1024 #define RECV_BUFFER_LEN原创 2014-07-01 09:17:06 · 1370 阅读 · 0 评论 -
Cygwin安装
下载安装Cygwin 我们可以到Cygwin的官方网站下载Cygwin的安装程序,地址是: http://www.cygwin.com/ 或者直接使用下载连接来下载安装程序,下载连接是: http://www.cygwin.com/setup.exe 下载完成后,运行setup.exe程序,出现安装画面。直接点“下一步”,出现安装模式的对话框,如下图所原创 2014-07-01 09:09:13 · 296 阅读 · 0 评论 -
c++ 类操作
#include class testcls{public:void test();protected:private:};void main(){ testcls tobj; tobj.test();}void testcls::test(){ cout}原创 2014-07-01 09:09:08 · 306 阅读 · 0 评论 -
C++ 连接Mysql基础配置
1、在工具-》选项-》目录中,引入Mysql的Include和lib,debug目录进去2、设置项目,连接添加 libmySQL.lib3、在main入口点的include 里面加入,winsock.h和mysql.h,注意:winsock.h引入必须在mysql.h之前原创 2014-07-01 09:08:05 · 300 阅读 · 0 评论 -
基于MySQL的高性能数据库应用开发(使用C连接Mysql)
一、高性能数据库的选择 ---- 在数据库的应用开发中,常常会遇到性能和代价的之间矛盾。以作者在开发股市行 情查询和交易系统中遇到的问题为例,要在实时记录1000多只股票每分钟更新一次的行 情数据的同时,响应大量并发用户的数据查询请求。考虑到性价比和易维护性,系统又 要求在基于PC服务器,Windows NT平台的软硬件环境下实现。开始,我们采用了MS SQL Server 6.原创 2014-07-01 09:08:00 · 491 阅读 · 0 评论 -
c++中的string的用法总结
basic_string::append向string 的后面加字符或字符串。(比+=, push_back 更灵活)(1)向string 的后面加C-stringbasic_string& append( const value_type* _Ptr );string s ( "Hello " ); // s="Hello "const char *c = "Out Ther原创 2014-07-01 09:07:46 · 361 阅读 · 0 评论 -
标准C/C++程序通过gSOAP调用WebService
一、 环境准备 在本文中,所有程序均在Linux下开发完成,经测试能够正常运行。 在开发过程中,我们需要用到gSOAP,可以从以下网址下载获得:[url]http://www.cs.fsu.edu/~engelen/soap.html[/url] 我下载的是gsoap_2.7.12.tar.gz 下载下来解压缩,按正常安装过程进行编译、安装。 # tar zxvf gsozp_2.7.12.ta原创 2014-07-01 09:17:32 · 656 阅读 · 0 评论 -
学习使用autotools
最近开始学习linux c开发,对autotools比较感兴趣,所以找了一些国外的文档看了看,然后自己做了小例子,在这里跟大家分享。 1、准备: 需要工具autoscan aclocal autoheader automake autoconf make 等工具. 2、测试程序编写: 建立目录:mkdir include src 编写程序:include/st原创 2014-07-01 09:17:18 · 366 阅读 · 0 评论 -
c连接mysql api显示数据
/* * File: main.c * Author: root * * Created on 2010年6月25日, 上午8:43 */#include #include #include MYSQL mysql_obj;/* * */int main(int argc, char** argv) { if (mysql_init(&mysql_obj) == NULL) {原创 2014-07-01 09:11:06 · 329 阅读 · 0 评论 -
C++ Template学习
1. 模板的概念。 我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。 //函数1. int max(int x,int y);{return(x>y)?x:y ;} //函数2.float max( flo原创 2014-07-01 09:18:07 · 302 阅读 · 0 评论 -
用GDB调试程序
GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所原创 2014-07-01 09:17:37 · 310 阅读 · 0 评论 -
如何优雅地关闭一个socket
最近在windows编程时需要考虑到“如何优雅地关闭一个socket”,查阅了一些资料,现将查到的相关资料做个汇编,希望能对后来者有所帮助(比较懒,所以英文资料没有翻译:-)) 1. 关闭Socket时究竟做了什么 关闭socket分为主动关闭(Active closure)和被动关闭(Passive closure)两种情况。前者是指有本地主机主动发起的关闭;而后者则是指本地主机检原创 2014-07-01 09:07:58 · 319 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—,全局原创 2014-07-01 09:07:16 · 247 阅读 · 0 评论 -
读取文件全部内容
#include #include using namespace std;void main() { fstream _file; _file.open("文件.txt", ios::in); istreambuf _iterator _begin(_file), _end; string content(_begin, _end); cout }原创 2014-07-01 09:17:48 · 463 阅读 · 0 评论 -
Linux下c语言编程的时间函数详解
/****************** * Linux时间函数 * ******************/ asctime(将时间和日期以字符串格式表示); ===>传入UTC(struct tm)tmp,返回char*。 ctime(将时间和日期以字符串格式表示); ===>传入(time_t)arg,返回char*。 gettimeofday(取得目前的时间); ===>传入(time_原创 2014-07-01 09:17:46 · 505 阅读 · 0 评论 -
一段 C++ 代码(成员函数做线程函数)
#include 〈windows.h〉#include 〈conio.h〉#include 〈stdio.h〉class CThreadClass{public:typedef DWORD (WINAPI CThreadClass::* pMemberThreadFunc)();typedef DWORD (WINAPI * PTHREADFUNC)(LPVOID);原创 2014-07-01 09:07:56 · 286 阅读 · 0 评论 -
epoll实例
#include #include #include #include #include #include #include #include #include #include #define SERV_PORT 8888 //端口号 #define MAX_LEN 100 //最大连接数 #define LISTENQ 20 //等待数原创 2014-07-01 09:17:58 · 366 阅读 · 0 评论 -
C++运行
win32程序:要运行win32应用程序,需要将项目 工程-》设置-》c/c++ -》预处理定义:去掉_CONSOLE,加上win32console程序:要运行win32应用程序,需要将项目 工程-》设置-》c/c++ -》预处理定义:去掉win32,加上_CONSOLE原创 2014-07-01 09:09:05 · 480 阅读 · 0 评论 -
C/C++扩展PHP
某个功能被编译到so文件中,那么如何通过php来调用它?一个方法是写一个php模块(php extension),在php中调用该模块内的函数,再通过该模块来调用so中的函数。下面做一个简单的例子,使用的操作系统是Fedora Core 6。 首先做一个简单的so文件: /** * hello.c * To compile, use following comm原创 2014-07-01 09:08:30 · 326 阅读 · 0 评论 -
[C/C++]标准C++ 时间日期函数
一、MFC类MFC提供了两个日期和时间类CTime和CTimeSpan,分别代表相对时间和绝对时间。CTime是基于格林威治平均时间(GMT)的,本地的时间由环境变量TZ决定。CTimeSpan代表了时间间隔。CTime类由下列成员函数:CTime()创建一个CTime对象。GetCurrentTime()由当前时间创建一个CTime对象。GetTime()由CTime原创 2014-07-01 09:07:53 · 418 阅读 · 0 评论 -
小谈C++STL算法-sorting
C++STL也提供了排序算法(Sorting algorithms),排序就是将一组无序的序列变成有序的序列. 首先介绍一下关于堆排序的内容,下面就是关于堆排序的一些算法函数 push_heap 元素入堆,就是将一个元素置入已构成的堆的迭代器区间中,使得扩展的一个元素的区间元素仍构成堆.(会改变迭代器区间元素顺序) make_heap 重新排列元素顺序,使得他们在逻辑上构成一个堆. pop_hea原创 2014-07-01 09:18:21 · 651 阅读 · 0 评论 -
c/c++ CURL的应用
1、下载数据并保存char url[1024] = "http://xxxxxx";FILE *fp = fopen("xxxxx", "w");CURL* curl_obj;curl_obj = curl_easy_init();//设置URLcurl_easy_setopt(curl_api::_curl_obj, CURLOPT_URL, url);//headcurl_easy_setop原创 2014-07-01 09:17:53 · 464 阅读 · 0 评论 -
C/C++ MYSQL API
mysql_affected_rows() 返回被最新的UPDATE, DELETE或INSERT查询影响的行数。 mysql_close() 关闭一个服务器连接。 mysql_connect() 连接一个MySQL服务器。该函数不推荐;使用mysql_real_connect()代替。 mysql_change_user() 改变在一个打开的连接上的用户和数据库。 mysql_creat原创 2014-07-01 09:16:45 · 311 阅读 · 0 评论 -
c常用头文件
一些头文件的作用::ANSI C。提供断言,assert(表达式) :GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使lib只需要包含:GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等:ANSI C。字符测试函数。isdigit(),isl原创 2014-07-01 09:10:45 · 500 阅读 · 0 评论 -
Linux操作系统多线程同步Mutex详细介绍
1. 初始化:在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化:对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init.对于动态分配的互斥量, 在申请内存(malloc)之后, 通过pthread_mutex_init进行初始化, 并且在释放内存(fr原创 2014-07-01 09:07:51 · 323 阅读 · 0 评论 -
c/c++ 连接mysql,并进行数据查询
1、首先安装mysql,mysql++,mysql++-devel等:shell>> sudo apt-get install mysql-server-5.1,mysql-server-core-5.1,mysql-client-5.1,libmysqlclient15-dev,libmysqlcppconn-dev,libmysql++-dev,libmysql++-doc,libmysqlc原创 2014-07-01 09:16:50 · 440 阅读 · 0 评论 -
位运算应用口诀
位运算应用口诀清零取位要用与,某位置一可用或若要取反和交换,轻轻松松用异或移位运算要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 4 ">>>"运算符,右边的位被挤掉,对于左边移出的空位一概原创 2014-07-01 09:07:13 · 389 阅读 · 0 评论 -
去掉前后字符串空格
#include iostream>#include string>std::string& trim(std::string &);int main() { std::string s = " Hello World!! "; std::cout s " size:" s.size() std::endl; std::cout trim(s) " size:" t原创 2014-07-01 09:17:51 · 396 阅读 · 0 评论 -
curl_easy_setopt函数介绍
本节主要介绍curl_easy_setopt中跟http相关的参数。注意本节的阐述都是以libcurl作为主体,其它为客体来阐述的。 1. CURLOPT_URL 设置访问URL 2. CURLOPT_WRITEFUNCTION,CURLOPT_WRITEDATA 回调函数原型为:size_t function( void *ptr, size_t size, size_原创 2014-07-01 09:17:44 · 344 阅读 · 0 评论 -
可以调试,并通用MAKEFILE
################################################################################# Generic Makefile for C/C++ Program## Author: whyglinux (whyglinux AT hotmail DOT com)# Date: 2006/03/04 # Descriptio原创 2014-07-01 09:17:41 · 315 阅读 · 0 评论 -
[Linux]TIME 函数
asctimectimegettimeofdaygmtimelocaltimemktimesettimeofdaytimeasctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtime表头文件 #include定义函数 char * asctime(const struct tm * timeptr);函数说明 asctime()将参数timept原创 2014-07-01 09:07:49 · 289 阅读 · 0 评论 -
ICONV编码转换
//编码转换char *soap_api::_iconv(const char *encFrom, const char *encTo, const char * in) { static char bufout[10240], *sin, *sout; int lenin, lenout, ret; iconv_t c_pt; if ((c_pt = iconv_open(encTo,原创 2014-07-01 09:17:55 · 387 阅读 · 0 评论 -
用 C 实现 WebService
一、系统环境Linux 操作系统 kernel2.4.2,安装 gsoap2.6 到目录/usr/local/gsoap二、gSOAP 的简要使用例子 下面是一个简单的例子,实现一个加法运算的 WebService,具体功能是客户端(client)输入 num1 和 num2,服务器端(server)返回 num1 和 num2 相加的结果 sum。1、首先,我们需要做的是写一个函数声明文件,来原创 2014-07-01 09:17:34 · 544 阅读 · 0 评论 -
函数常量
const修饰类的成员函数,则该成员函数不能修改类中任何非const成员函数。一般写在函数的最后来修饰。 class A { … void function()const; //常成员函数, 它不改变对象的成员变量. 也不能调用类中任何非const成员函数。 } 对于const类对象/指针/引用,只能调用类的const成员函数,因此,const修饰成员函数的最重要作用就是限制对于const对象的使原创 2014-07-01 09:16:40 · 521 阅读 · 0 评论 -
在Windows下写PHP的C扩展
安装好如下软件: 引用 1. VC++ 6 2. php二进制环境 3. Cygwin. I. 下载php的源码包 下载后php源码包解压后有个ext目录,这个目录就是负责开发扩展的目录,目录中有默认你扩展的所有源码。还有两个重要的文件:ext_skel , ext_skel_win32.php. ext_skel是创建扩展的shell,在windows上无法运行,所以就原创 2014-07-01 09:09:10 · 409 阅读 · 0 评论 -
c++ Template模版类,实例
main.cpp#include "test_tmp.h"int main(int avg, char *arg[]) { test_tmp test_cls(1,2); test_cls._write(); return 0;}test_tmp.h#ifndef TEST_TMP_H#define TEST_TMP_Husing std::cout;using std::endl;temp原创 2014-07-01 09:18:09 · 356 阅读 · 0 评论