log4c使用—日志文件轮循

分类:C/C++Log4c基本概念
Log4c中有三个重要的概念, Category, Appender, Layout。
Category用于区分不同的Logger, 其实它就是个logger。在一个程序中我们可以通过Category来指定很多的Logger,用于不同的目的。
Appender用于描述输出流,通过为Category来指定一个Appender,可以决定将log信息来输出到什么地方去,比如stdout, stderr, 文件, 或者是socket等等
Layout用于指定日志信息的格式,通过为Appender来指定一个Layout,可以决定log信息以何种格式来输出,比如是否有带有时间戳, 是否包含文件位置信息等,以及他们在一条log信息中的输出格式的等。

继续阅读 »

在vim/vi中快速执行php或c/c++的方法

分类:C/C++如果使用VIM来编写代码,可能很多朋友就会想了,有没有什么方法来建立一个快捷键,能快速的运行我们所编写的代码呢?!!答案当然是肯定了的,不然也不会写这篇日志来讨论这个问题了。

在介绍方法之前,先来谈一下自己以前的执行方式吧!

先拿PHP来讲吧,最传统的方式就是将编写好的代码放在apache的根目录,然后通过浏览器来运行,或者使用php命令来运行php.可以使用php的r参数

  1. linuxany@~$ php -r "echo 'hqlong';"

来快速测试,或者使用q参数

  1. linuxany@~$ php -q test.php

来运行。

继续阅读 »

c语言中的字符串分割(strstr)

分类:C/C++在前面C语言中利用strtok函数进行字符串分割介绍的strtok函数,比较适合多个字符(也就是字符串)作分隔符的场合,而很多时候我们仅仅需要某一个特定的字符来分割字符串,当然利用strtok也可以实现,不过这里介绍的strstr效率上来说更加适合。

原型:extern char *strstr(char *haystack, char *needle);
所在头文件:#include <string .h>
功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。
说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。</string>

继续阅读 »

C语言中几种指针的指针用法

分类:C/C++1、 简单来说 int **p 是一个指向2维数组的指针。
数学上一个2维数组描述有NR行,NC列的矩阵,例如 int a[NR][NC];
为了使程序有通用性,编程时不把这个数组行列数定死,而让使用者临时输入行列数,再动态分配数组存放单元,这时,我们声明一个2维数组的指针(或叫二重指针)。

  1. int NR,NC;
  2. int **a;
  3. int i,j;
  4.  
  5. // 假定键盘输入 NR=5,NC=3,动态分配数组:
  6. a = (int **) malloc(sizeof(int *) * NR);
  7. for (j=0;j<nr ;j++) a[j] = (int *) malloc(sizeof(int) * NC);

继续阅读 »

解决Debian5编译环境头文件异常的办法

分类:C/C++分类:Debian在编译时使用下列包含位置即可:(注意顺序)
适用于gcc,g++
32位:

/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.3.2/include
/usr/lib/gcc/i486-linux-gnu/4.3.2/include-fixed
/usr/include

64位

/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include
/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include-fixed
/usr/include

排序与查找函数(qsort,bsearch,alphasort)

分类:C/C++qsort函数声明如下:

  1. void qsort(void *base, size_t nmemb, size_t size,
  2.                   int(*compar)(const void *, const void *));

参数说明如下:
base: 要排序的数组
nmemb: 数组中的元素数目 sizeof(array)/sizeof(array[0])
size: 每个数组元素占用内存空间,可使用sizeof(array[0])获得
compar: 比较两个数组元素的比较函数。本比较函数的第一个参数值小于、等于、大于第二参数值时,本比较函数的返回值应分别小于、等于、大于零。

继续阅读 »

常用C自定义函数集

分类:C/C++

  1. //1.字符串大小写转换函数
  2. char * ConversionString(char* _pDest, const char * _pSrc, int _nFlag);
  3. //2.将字符串转换为整数
  4. int CharToInt(const char* _pStr);
  5. //3.将字符串转换成数字
  6. double CharToDouble(const char* str);
  7. //4.将整型数字转换为字符串,(正负数都可以)
  8. char * IntToChar(char* pDestStr, int nSrcNum);
  9. //5.将浮点型数字转换为字符串,(正负数都可以)
  10. char * DoubleToChar(char* pDestStr, double dSrcNum);
  11. //6.将字符串形式表示的 IP 转换为一个整数
  12. int CharToIp(const char* _pchIP);
  13. //7.将一个整数转换为一个IP字符串
  14. char * IpToChar(const int nIP, char * _pchStrIP);
  15. //8.将字符串 pStr 中所有的 ch字符过滤掉
  16. char * StringFilter(char * pStr, const char ch);
  17. //9.字符串替换函数, 在字符串 _pSrc 中查找 _pKey 串,并将其替换成 _pReplace 串
  18. char * StringReplace(char* _pDest, const char* _pSrc, const char* _pKey, const char* _pReplace);
  19. //10.从字符串 _PSrc 中查找 _Pkey, 如果找到,返回第一个找到的地址
  20. char * StringFind(char* _pSrc, const char* _pKey);
  21. //11.测试字符串是否是一个数字串
  22. int IsNumberString(const char* _pStr);
  23. //12.将字符串 _pchSrc 到序反转
  24. char * StringReverse(char* _pchDest, const char* _pchSrc);

继续阅读 »


返回顶部