proxy代理   soft软件   IT 业界特快   norton 诺顿病毒库   代理列表   search FTP搜索   whois IP地理位置   blog 追求完美  
money理财   life生活   RSS聚合门户   firefox WEB浏览器   免费域名   typeset 假古文   AntiVirus 反病毒   ipcn 站点导航  

« shell 折腾之 ${!varname} 实现级联调用 | Main | 通过循环结构从数据库生成 nagios 配置 »

November 27, 2006

折腾 C 指针 完成 log 过滤 思路清晰是王道

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
https://windtear.net/archives/2006/11/27/001147.html
http://windtear.net/archives/2006/11/27/001147.html

折腾 C 指针 完成 log 过滤  思路清晰是王道

目的:
Log 过滤

思路:
一次读一段 如8192字节
然后两个指针移动 基本是后面冲掉前面
*ptri, *ptro

实现:
初始化之后(两个指针都指向开头) 进入 for 循环
碰到希望的 替换 *ptro = '\t';  或  '\n' 或 干脆忽略掉
可以匹配长度 可以匹配后缀 可以做一切想要做的事
如果想过滤掉一行 直接把 ptro 指向先前设的"本行开头位置" 重新覆盖

然后把"本行开头位置" 指向当前ptro的位置
为了进入下一循环 再不 ptri 左移一位

for 循环结束之后
判断 optr 是不是指向的还是最开始
如果不是最开始 则成功过滤有有效数据 设置终结
*ptro++ = '\0';

返回调用时传过来的指针即可
本blog WWW

Posted by windtear at November 27, 2006 11:46 PM

本站使用中的任何问题,请与 windtear @ windtear.net 联系
Copyright© 1999-2024 Windtear. All rights reserved.