关于C中字符串操作,急

thomasCJ 2009-06-16 03:25:13
我把一个文本文件全部读入一个字符串中,
像这样
adsfsdf
dfdsf
dfdsdg
ddd
读放字符串中后会加入几个换行符,变成
buff[] = "adsfsdf\ndfdsf\ndfdsdg\nddd\n"

现在我想处理这个字符串,遇到换行符则对换行之前的字符作操作,就相当于逐行处理文本了,不过我不能那样做(那样倒简单了)

现在我做到处理buff[]这下面的实现不了了,大家帮忙看看,谢谢了
...全文
41 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
guocai_yao 2009-06-16
  • 打赏
  • 举报
回复
不是很清楚要干什么
thomasCJ 2009-06-16
  • 打赏
  • 举报
回复
buff:
.1.3.6.1.4.1.300.20.1.1."ext0" = STRING: ext0
.1.3.6.1.4.1.300.20.1.2."int0" = STRING: int0
.1.3.6.1.4.1.300.20.1.3."mgt" = INTEGER: 19
.1.3.6.1.4.1.300.20.1.4."ext0" = INTEGER: up
.1.3.6.1.4.1.300.20.1.5."int0" = INTEGER: 16


我的buff打印出来是这样的,上面的\n只是一个假想的,根本不在里面。。。我想分割出每一行,不知道有没有办法,有劳大家

沙漠里的海豚 2009-06-16
  • 打赏
  • 举报
回复
实在没看懂楼主要表达的意思?

如果要对字符串

buff[] = "adsfsdf\ndfdsf\ndfdsdg\nddd\n"

中\n之间的字符进行处理应该很简单啊,

用strstr挨个找到\n位置,然后与字串的初始指针相减得出长度,用strncpy拷贝到一个临时字串中处理就好了啊
thomasCJ 2009-06-16
  • 打赏
  • 举报
回复
strtok无法实现,这函数的分割符必须是字符串中看得见的,换行符不能作分割。。
thomasCJ 2009-06-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 tsocpp 的回复:]
你是要去掉换行符呢还是要分割出每行的字符
真没看明白你要干什么
[/Quote]


分割出每行的字符,
thesecretblue 2009-06-16
  • 打赏
  • 举报
回复
xuexile
tsocpp 2009-06-16
  • 打赏
  • 举报
回复
你是要去掉换行符呢还是要分割出每行的字符
真没看明白你要干什么
lwh_1024 2009-06-16
  • 打赏
  • 举报
回复
存入buff,写一个循环,遇到字符为'\n'的,就跳过去;不是换行符,就存入str。最后str就是没有换行符的字符串了
for (i=0; i < strlen(buff); i ++){
if (buff[i] == '\n')
continue;
else
str[i] = buff[i];
}
光宇广贞 2009-06-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 thomasCJ 的回复:]
找到解决方法了好像,可以用strtok分割,我先试一下,谢谢大家热心帮忙-_-
[/Quote]
goodname 2009-06-16
  • 打赏
  • 举报
回复
既然只有一个回车符的话,遍历一遍字符串也很容易实现。
thomasCJ 2009-06-16
  • 打赏
  • 举报
回复
找到解决方法了好像,可以用strtok分割,我先试一下,谢谢大家热心帮忙-_-
nosxcy 2009-06-16
  • 打赏
  • 举报
回复
把你的代码贴上来看看
liao05050075 2009-06-16
  • 打赏
  • 举报
回复
你可以使用类似
int len=0;
while(gets(buff+len)) len=strlen(buff);
goodname 2009-06-16
  • 打赏
  • 举报
回复
没看明白你想干什么。

69,371

社区成员

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

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