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(®, pattern, cflags); //如果编译成功返回0,其它返回说明有错误产生
if (z != 0)
{
regerror(z, ®, 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(®, lbuf, nmatch, pm, 0);
if (z == REG_NOMATCH) continue;
&nbs
相关文档:
为了搭建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 ......
(1)查看时钟中断:
$ cat /proc/interrupts
CPU0
0: 1380471 IO-APIC-edge timer
1: 3626 IO-APIC-edge i8 ......
网络上和书上有各种配置JDK环境变量的方法,但是确描述不一致,给初学者造成了一定的困难(想起当时的我)。以下是我自己总结的,百分百可以用。
此文详述了如何在windows和linux下配置环境变量。
一共需要配置3个变量:
JAVA_HOME:主要是为了其它两个使用,简化配置,jdk安装的完整的路径名,一直到jdk...为止。
CLAS ......
vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,
或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、
游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装j ......