`
unsoundboy
  • 浏览: 60938 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
文章列表
1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段 2、http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscripts --提供数以百计的C和C++脚本和程序。所有程序都分为不同的类别。 3、http://www.planetsourcecode.com/vb/default.asp?lngWId=3 --超过万行C和C++免费的源代码 4、http://freshmeat.net/browse/164/ --超过9000个C编写的项目。 5、http://www. ...

值得注意的函数

    博客分类:
  • c++
函数  严重性  解决方案 gets 最危险 使用 fgets(buf, size, stdin)。这几乎总是一个大问题! strcpy 很危险 改为使用 strncpy。 strcat 很危险 改为使用 strncat。 sprintf 很危险 改为使用 snprintf,或者使用精度说明符。 scanf 很危险 ...
int get_system_info(char* cmdstring, char* buf, int len) //---------------------------------------------------------------------------------- // 增强的system函数,能够返回system调用的输出 // 增强的system函数,能够返回system调用的输出   * // @param[in] cmdstring 调用外部程序或脚本的命令串 // @param[out] buf 返回外部命令的结果的缓冲区 // @param[in] len 缓冲区b ...
那么我们先看看什么是UUID?简单的说,UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。在UUID的算法中,可能会用到诸如网卡MAC地址,IP,主机名,进程ID等信息以保证其独立性。 如果你的MySQL ...
1,比如: struct{ short a1; short a2; short a3; }A; struct{ long a1; short a2; }B; sizeof( A)=6, sizeof( B)=8,为什么? 注:sizeof(short)=2,sizeof(long)=4 因为:“成员对齐有一个重要的条件,即每个成员按自己的方式对齐.其对齐的规则是,每个成员按其类型的对 ...

很有用的命令

useradd $name; echo $passwd | passwd --stdin $name ------------------------------------------------------------- #!/bin/sh # Initial group is users and new users can't login in if [ ! -f userlist.txt ]; then   echo "ERROR:userlist.txt NOT exists!Please check it!"   exit 1 fi #Only root c ...
Linux中也有类似Windows中DLL的变成方法,只不过名称不同而已。在Linux中,动态链接叫做Standard Object,生成的动态链接文件为*.so。详细请参考相关文档。 开发环境:Eclipse 3.4.2 G++:4.3.2 1. 创建动态链接库 (1)在Eclipse中创建新的C++工程 File->New->Project->C++->C++ Project,选择Shared Library。 (2)创建源代码文件 File->New->Source File,指定名称为shared.cc (3)编写源码 view pl ...
1. Setup a new directory ".ssh" under the home folder: $ mkdir .ssh 2. Set the priority of ".ssh" as drwxr-xr-x: $ chmod 755 .ssh 3. Generating public key of the namenode for passphraseless SSH $ ssh-keygen -t rsa and press three "Enter"s 4. Add the public key SSH to ...
本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。 为什么需要线程池 目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。 传统多线程方案中我们采用的服务器模型则是一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。 ...
线程池:简单地说,线程池 就是预先创建好一批线程,方便、快速地处理收到的业务。比起传统的到来一个任务,即时创建一个线程来处理,节省了线程的创建和回收的开销,响应更快,效率更高。 在linux中,使用的是posix线程库,首先介绍几个常用的函数: 1 线程的创建和取消函数 pthread_create 创建线程 pthread_join 合并线程 pthread_cancel 取消线程 2 线程同步函数 pthread_mutex_lock pthread_mutex_unlock pthread_cond_signal pthread_cond_wait ...
样例程序 程序功能:求从1一直到 APPLE_MAX_VALUE (100000000) 相加累计的和,并赋值给 apple 的 a 和 b ;求 orange 数据结构中的 a[i]+b[i ] 的和,循环 ORANGE_MAX_VALUE (1000000) 次。 说明: 由于样例程序是从实际应用中抽象出来的模型,所以本 ...
基本概念 1.队列      队列是信息的线性表,它的访问次序是先进先出(FIFO)。也就是说,置入队列中的 第一个数据项将是从队列中第一次读出的数据项,置入的第二项将是读出的第二项,依 此类推。这是队列允许的唯一存取操作, ...
#include <iostream> #include <string> using namespace std; void SplitFilename (const string& str) {   size_t found;   cout << "Splitting: " << str << endl;   found=str.find_last_of("/\\");   cout << " folder: " << str.substr ...
不能用类成员函数作为线程函数

c++ 字符串替换

    博客分类:
  • c++
#include   <string> #include   <iostream> using namespace std; string& replace_all(string &str, const string& old_value,const string& new_value) { while (true) { string::size_type pos(0); if ((pos = str.find(old_value)) != string::npos) str.replace(pos, old_value ...
Global site tag (gtag.js) - Google Analytics