易截截图软件、单文件、免安装、纯绿色、仅160KB

linux C正则表达式

在网上找到的一个程序
[c]
#include <stdio.h>
#include <sys/types.h>
#include <regex.h>
/* 取子串的函数 */
static char* substr(const char*str,unsigned start, unsigned end)
{
      unsigned n = end - start;
      static char stbuf[256];
      strncpy(stbuf, str + start, n);
      stbuf[n] = 0;
      return stbuf;
}
/* 主程序 */
int main(int argc, char** argv)
{
      char * pattern;
      int x, z, lno = 0, cflags = 0;
      char ebuf[128], lbuf[256];
      regex_t reg;
      regmatch_t pm[10];
      const size_t nmatch = 10;
/* 编译正则表达式*/
      pattern = argv[1]; //获取正则表达式
      z = regcomp(&reg, pattern, cflags); //如果编译成功返回0,其它返回说明有错误产生
      if (z != 0)
      {
             regerror(z, &reg, ebuf, sizeof(ebuf));
             fprintf(stderr, "%s: pattern '%s' \n",ebuf, pattern);
             return 1;
      }
/* 逐行处理输入的数据 */
      while(fgets(lbuf, sizeof(lbuf), stdin))
      {
            ++lno;
//取得读取字符串的长度,并判断字符串结尾字符是否为回车符'\n'。如果是,将结尾字符改为0
            if ((z = strlen(lbuf)) > 0 && lbuf[z-1]== '\n')
                  lbuf[z - 1] = 0;
/* 对每一行应用正则表达式进行匹配 */
           z = regexec(&reg, lbuf, nmatch, pm, 0);
           if (z == REG_NOMATCH) continue;
 &nbs


相关文档:

Linux 进程创建


作者:李智敏,华清远见嵌入式学院上海分中心讲师。
在 Linux 内核内,进程是由相当大的一个称为 task_struct 的结构表示的。此结构包含所有表示此进程所必需的数据,此外,还包含了大量的其他数据用来统计(accounting)和维护与其他进程的关系(父和子)。下面给出了 task_struct 的一小部分。task_struct 位于 ./linux ......

linux驱动之 linux2.6.14.1 移植进去8900网卡驱动

为了搭建nfs系统,...所以 必须在内核移植好网卡驱动. 我靠.照下面做,一次能成功.
我的主板是友善之臂 2410. 环境是 vmware+ubuntu
LINUX2.6.14下CS8900的移植(Fs2410)
 
1.
(文件在我的下载版有)
拷贝文件cs8900.c cs8900.h到 linux2.6.14.1/drivers/net
进入目录cs8900
cp cs8900.c ../linux-2.6.14.1/dri ......

linux c语言 select函数用法

  Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等
待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返� ......

Linux块设备驱动(1) 块驱动中相关的结构体及其操作

 
 
1.字符设备与块设备IO操做的区别
1)块设备只能以块为单位接收输入返回输出,而字符设备则以byte为单位.大多数设备是字符设备,他们不需要缓冲并且不以固定块大小进行操作.
2)块设备对于IO请求有对应的缓冲区,所以他们可以选择以什么顺序进行响应.字符设备无须缓冲且被直接读写.
3)字符设备只能被顺序读写, ......

Linux的几个tip

1. 有些命令参数过多,可以用grep来方便查找,如:
                    iptables -h 2>&1|grep '\-A'
其中2>&1将stderr转向stdout,然后我们就可以通过grep找到需要的选项,要注意的是横杆之前要加反斜� ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号