新人有问题,请大佬来解决谢谢

zyx6680599 2018-11-09 07:31:29
C语言如何拆分和截取字符串?
比如用scanf()输入一个字符数组,然后挨个拆分成每一个字符。而且在遍历时能指定一个特定单词,检索出n个字符,(n小于字符串长度)。
比如输入一个字符串(或者字符数组)(变量名叫做a),终端输入的是"adsssdfgkjssdf",再从终端输入一个字符串(数组)b,终端输入的是"ssdf"在检索时能够从字符串a检测出a中有两个b("adsssdfgkjssdf”中有两个“ssdf”)
求大佬指出如何做,并且给出示例代码谢谢
...全文
60 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy__She 2018-11-23
  • 打赏
  • 举报
回复
感觉正则的话。emmm
zyx6680599 2018-11-13
  • 打赏
  • 举报
回复
十分感谢大佬
@风轻云淡_ 2018-11-12
  • 打赏
  • 举报
回复
如楼上所说,使用strstr函数,如果不怕麻烦并且动手能力强的话,可以使用RegEx库,用正则表达式来限定,一般正则被用来search复杂搜索条件下的结果,像楼主所说这种单纯的查找,建议直接使用库函数。
自信男孩 2018-11-12
  • 打赏
  • 举报
回复
用strstr函数可以从主串里找出子串

#include <stdio.h>
#include <string.h>


int main(void)
{
char str[32], substr[16], *pstr, *p;
int len, cnt;

scanf("%s", str);
scanf("%s", substr);

len = strlen(substr);
cnt = 0;
pstr = str;
for (;;) {
if (!(p = strstr(pstr, substr)))
break;
cnt++;
pstr = p + len;
}

printf("cnt = %d\n", cnt);

return 0;
}


供参考
午后是傻狗 2018-11-12
  • 打赏
  • 举报
回复
你可以网上搜一下strstr函数源码,稍微改一下就可以用啦

69,369

社区成员

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

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