免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5291 | 回复: 8
打印 上一主题 下一主题

[算法] 请教关于转义字符处理的方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-01 13:04 |只看该作者 |倒序浏览
现在有一组数据需要处理,
格式如
IP=\"192.168.1.1\"
NETMASK=\"255.255.255.0\"

现在我需要用C去进行处理,怎样能够把上面的转义字符“\”给过滤掉?

谢谢!

===================================================

我现在是很混乱啊

刚学着写代码,呵呵,见谅

现在的问题是

我有一些数据,先保存在一个文件中,等需要的时候再读出来

格式大致如:

IP=192.168.1.1
NETMASK=255.255.255.0
DHCP_ENALE=1


在向文件保存的时候,因为使用了sprintf,如果参数值中有IP地址,就会在引号前加个转义字符
sprintf( buf, "%s=\"%s\"\n", name, value);
而参数值中无引号的时候,则不进行处理
sprintf( buf, "%s=%s\n", name, value);


现在的情况是,我现在在读取这个文件的时候,
读出来的数据都是像上面给出的那样
IP=\"192.168.1.1\"
NETMASK=\"255.255.255.0\"
DHCP_ENABLE=1


我不知道应该怎么处理才能把那些转义字符给去掉……
基础知识太欠缺了……
谢谢指教

[ 本帖最后由 WHITLACK 于 2009-12-1 13:58 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-12-01 13:07 |只看该作者
getchar
if char == "\"
    getchar
    char = 第二次的char
else
    char = 第一次的char

论坛徽章:
0
3 [报告]
发表于 2009-12-01 13:28 |只看该作者
谢谢楼上回答,
请问转义字符在c中应该怎样表示啊?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2009-12-01 13:37 |只看该作者
很奇怪的需求。
根据我的经验,
我觉得很有可能是楼主搞错了真正的问题了。

论坛徽章:
0
5 [报告]
发表于 2009-12-01 13:50 |只看该作者
原帖由 flw 于 2009-12-1 13:37 发表
很奇怪的需求。
根据我的经验,
我觉得很有可能是楼主搞错了真正的问题了。


我现在是很混乱啊

刚学着写代码,呵呵,见谅

现在的问题是

我有一些数据,先保存在一个文件中,等需要的时候再读出来

格式大致如:

IP="192.168.1.1"
NETMASK="255.255.255.0"
DHCP_ENALE=1

在向文件保存的时候,因为使用了sprintf,如果参数值中有IP地址,就会在引号前加个转义字符
sprintf( buf, "%s=\"%s\"\n", name, value);
而参数值中无引号的时候,则不进行处理
sprintf( buf, "%s=%s\n", name, value);


现在的情况是,我现在在读取这个文件的时候,
读出来的数据都是像上面给出的那样
IP=\"192.168.1.1\"
NETMASK=\"255.255.255.0\"
DHCP_ENABLE=1

我不知道应该怎么处理才能把那些转义字符给去掉……
基础知识太欠缺了……
谢谢指教

[ 本帖最后由 WHITLACK 于 2009-12-1 13:58 编辑 ]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2009-12-01 14:20 |只看该作者
原帖由 WHITLACK 于 2009-12-1 13:50 发表


我现在是很混乱啊

刚学着写代码,呵呵,见谅

现在的问题是

我有一些数据,先保存在一个文件中,等需要的时候再读出来

格式大致如:

IP="192.168.1.1"
NETMASK="255.255.255.0"
DHCP_ENALE ...

你“看”的不对。

用 vim 看看?
你用的是 gdb 看的?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2009-12-01 14:22 |只看该作者
不过其实就算是 IP 地址,你也不应该加引号的。
你加了引号反而就不对了,后续处理会有问题的。

论坛徽章:
0
8 [报告]
发表于 2009-12-01 14:34 |只看该作者
原帖由 flw 于 2009-12-1 14:22 发表
不过其实就算是 IP 地址,你也不应该加引号的。
你加了引号反而就不对了,后续处理会有问题的。


在程序中如果我不加引号的话,所有的参数值都会变为空
我不知道为什么

原来的代码不是我写的,我现在还没找出来为什么

论坛徽章:
0
9 [报告]
发表于 2009-12-01 14:41 |只看该作者
找出原因了,原来的程序有对ip的操作,但是不知道为什么,暂时先拿掉看看有没有什么不好的事情发生
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP