PLM之家PLMHome-工业软件践行者

string的find和find_first_of的区别

[复制链接]

2020-3-19 19:49:22 1765 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2020-3-19 19:49:22 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

# H- n" M/ x# t3 ?* P
6 U, I! d. _( k如果需要全字符串匹配,用Find. M* I" f8 S+ ~9 }# M/ @
, n/ y& w( E; [1 f6 i# R
! |. B% U4 _( w# D& `9 e
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。: O  k9 L- \# p# P3 W- N& c7 `" W
# Q( n! J2 Z4 d* ?: B
现将find和find_first_of的区别与几种使用形式介绍如下
" q. {4 ]6 W# p; `5 G0 C* F) P  J1 `! o
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
9 R1 p0 x- D  t! B; x
/ ?9 Y9 s* b4 U( Bfind有四种使用形式。
& X3 @! U$ D+ P9 t2 N  Z& C0 ~, i" S) ?9 O7 ^( K
1、size_type find(const basic_string& str, size_type pos = 0) const;
3 t5 A1 z- R) Q; L: o! `' f3 T( ~0 U( g7 b
表示 从pos位置开始找子字符串str" c5 k2 L. y7 D- c" U

6 M, O' I. Z3 X2、size_type find(const char* s, size_type pos, size_type count)const;
6 W1 z5 m3 {. {; ]  k* I, c5 Q4 [5 ~' V3 @* C! \' i% [
从pos位置开始找到与字符串s的前count个字符相等的子串, Y; u9 F2 \; \+ H

0 [( W, d$ {$ N- ^, x7 G3 X; t3、size_type find(const char* s, size_type pos = 0)const;
  z; [: b9 x. W- h; Z5 f* G7 i; S, R, [; w+ e# R
从pos位置开始找与字符串s相等的子串
& {% r% k! u: e0 z. y! A: [* u5 d# i/ V6 S& g
4、size_type find(char ch, size_type pos = 0) const;
- H# u9 P3 r4 p0 y" z( M
6 e8 \$ c  S) f+ L从pos位置开始找字符ch。- ^3 k1 A1 x8 x+ _) w: k* I

! \' u; y6 d0 z$ u! ]
! P- t+ h7 z( ~/ V+ N! w* _+ Y4 a8 ^" X$ r1 s+ |2 F1 w
find_first_of的四种形式6 x8 D; H2 z9 P% V/ w
9 h) S8 ]3 x7 k' ~% M- s
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;
- T8 P$ X9 M. o3 j
* q& x2 ?: h* L从pos位置开始找到第一个与str中任意一个字符相等的字符
1 O1 Q: y9 k" }9 ^" _2 p5 w" L1 L$ d) M# u8 s+ {
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;
3 Z' B* S7 C+ G: }# L  m: n" }; w+ Y# h. D0 i
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
3 `  \0 b9 R5 m! ^9 q8 ]$ @
. ~3 g" O8 P$ f: n$ j9 a( o/ L3、size_type find_first_of(const char* s, size_type pos = 0)const;. s. X! V6 C; |* j5 q

+ u, l3 |/ h% C; S/ q从pos位置开始找到第一个与s中的任意一个字符相等的字符
$ i- Y3 P0 ?- c: R% }4 y6 J* F
4 g8 d5 r! _8 ~4、size_type find_first_of(char ch, size_type pos = 0)const;: W; D& @: u) V
( D8 ]% c2 `0 r' ?/ ^
从pos位置开始找到第一个等于ch的字符。' u* G# {. X$ b, }

$ x: }" @' Y! r
  q( B% ^# q% s: s2 A
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了