【发布时间】:2017-10-26 03:21:52
【问题描述】:
有没有办法使用字符串作为分隔符? 我们可以使用 sscanf() 将字符作为分隔符;
示例
我有
char url[]="username=jack&pwd=jack123&email=jack@example.com"
我可以使用。
char username[100],pwd[100],email[100];
sscanf(url, "username=%[^&]&pwd=%[^&]&email=%[^\n]", username,pwd,email);
它适用于这个字符串。但对于
url="username=jack&jill&pwd=jack&123&email=jack@example.com"
它不能被使用...它可以删除 SQL 注入...但我想学习一个使用技巧 &pwd,&email 作为分隔符..不一定使用 sscanf。 更新:解决方案不一定需要使用 C 语言。我只想知道一种使用字符串作为分隔符的方法
【问题讨论】:
-
这就是 URL-encoding 的原因之一。确保没有按原样在 URL 中输入特殊字符。问题可以解决,但并不像单个
sscanf调用甚至使用strtok或正则表达式那么简单。 -
我确实使用了一个函数来解析和添加转义字符,就像删除 SQL 注入的常用方法一样......但我希望有办法使用字符串作为分隔符,这样可以节省很多时间..我可能会做一个自定义功能,但不确定。 .我想知道 C 或任何其他语言是否有可能