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
相关文档:
作者:李智敏,华清远见嵌入式学院上海分中心讲师。
在 Linux 内核内,进程是由相当大的一个称为 task_struct 的结构表示的。此结构包含所有表示此进程所必需的数据,此外,还包含了大量的其他数据用来统计(accounting)和维护与其他进程的关系(父和子)。下面给出了 task_struct 的一小部分。task_struct 位于 ./linux ......
Linux下解压命令大全
Linux下解压命令大全
.tar
解压:tar xvf filename.tar
打包:tar cvf filename.tar dirname
.gz
解压:gzip -d filename.gz / gunzip filename.gz
压缩:gzip filename
.tar.gz/.tgz
解压:tar zxvf  ......
在配置虚拟环境的时候 连接方式选择桥接方式,在linux其他版本的系统中进去就可以直接上网的,但是在redhat9的浏览器下进入网站老是提示找不到。此时如果你试一下ifup eth0你会发现提示如下:
determining ip information for eth0... failed no link present. check cable
网卡激活失败。
此时你可以尝试修改一下/etc/s ......
进入/boot/grub
修改grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, ......
使用Linux Live USB creator创建Live USB
2010-01-24
分类:Programming
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://ralf0131.blogbus.com/logs/56939663.html
很多Linux发行版都有Live CD, 而Live USB则具有比Live CD更加灵活的特点,完全可以替代Live CD,其实就是把镜像文件&ldqu ......