求一段字符串的处理算法。

trumpliu 2010-05-07 11:36:04
缓冲区char * buf[4096],如果超过20个字符算一行,如果有\r或者\n算一行,如果\r\n同时出现算一行,如果\n\n或\r\r同时出现算2行。我现在先考虑最简单的情况。没有\r\n连续的出现。写的,错误百出。
char buf[4096]={0};
char *p1 = buf;
char *p3 = buf+sizeof(buf);

int i = 0;

while (p1 <= p3)
{
for (i=0; i<20 && '\0'!= *p1;i++,p1++)
{
if ('\r' == *p1 || '\n' == *p1)
{
msg_row_count++;
break;
}
}
msg_row_count++;
}
...全文
47 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2010-05-07
  • 打赏
  • 举报
回复
《编译原理》有限状态自动机
minichun 2010-05-07
  • 打赏
  • 举报
回复
先处理重复的,比如将\n\n,或者\r\r分开,然后已\n, \r, \n\r, \r\n来做分割处理
笨笨周0915 2010-05-07
  • 打赏
  • 举报
回复
啥意思?? 你是要统计缓冲里面的行数???
花间泪 2010-05-07
  • 打赏
  • 举报
回复
看程序是很头痛的事情啊,自己想好了在写吧

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧