PLM之家PLMHome-国产软件践行者

string的find和find_first_of的区别

[复制链接]

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

admin 发表于 2020-3-19 19:49:22 |阅读模式

admin 楼主

2020-3-19 19:49:22

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

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

x

9 R- m; L1 H4 D$ \
7 {. L8 ~( u9 {+ s如果需要全字符串匹配,用Find
7 I- P/ v+ Q7 r. s* ?4 }
) Y6 U# o' A0 D- b7 U+ _# q7 _7 ^( R0 h* I2 w- a' G5 C8 Q
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。
+ w& Y7 `2 f; n3 [; O4 u; M/ z: i8 V. Q' j! p8 j. P
现将find和find_first_of的区别与几种使用形式介绍如下# e2 u. X- r: j/ f6 N5 x# t3 M
# V% J  ~7 j9 i% V3 V+ q  Y) Z* [
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。# i2 x: X! _  P. e
! L# ], T& l2 W
find有四种使用形式。3 Z  U& R" I0 |

9 |* a+ m* A) @1 B' a! P$ O1、size_type find(const basic_string& str, size_type pos = 0) const;
" D* ]. A1 x" U5 R7 t* y  c
& _4 @7 G7 x- p表示 从pos位置开始找子字符串str) X- r- r, L0 h( D' w- @& I

% F  O- ~. H' w; V. ]2、size_type find(const char* s, size_type pos, size_type count)const;$ q/ H7 e3 x" Z% |1 h

( q+ q; _& J2 D% v2 e从pos位置开始找到与字符串s的前count个字符相等的子串
" c+ E. O! y( }+ \% H. I) |) |; I5 b9 L+ L$ _
3、size_type find(const char* s, size_type pos = 0)const;
! F0 d+ B1 t3 g7 d. y# Q7 O' [% Z" M( ~+ z
从pos位置开始找与字符串s相等的子串5 I; O5 e. ^- k+ u7 c2 i
/ L: I, B! _: w  C' R
4、size_type find(char ch, size_type pos = 0) const;7 ~/ b  g+ `. g/ y7 t5 f1 X9 E
7 D, {1 y& d" ^, O
从pos位置开始找字符ch。: g5 z0 D0 y% y0 \

% U, {, J  `4 H7 I3 O; f; L+ B2 A7 B9 \4 h1 b. |0 Y$ C

( X1 r$ C" x' b( X6 H4 ?7 k( xfind_first_of的四种形式
0 n8 A: A: ~! d
' S+ W0 k0 f$ n1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;
3 d) H$ z& I" `" i' t& W6 H' _3 P7 _) s8 K9 b5 i1 J+ \- N+ g
从pos位置开始找到第一个与str中任意一个字符相等的字符4 |) c, O/ S: t; s
% k, X2 ]/ M' M4 c' S
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;
# b9 I. e9 S$ {2 O+ m: x8 V" w6 E4 E% d6 f. x' k
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符0 L" Z( C- U* M, x% v6 K) d5 ^
  u: H) N6 H. j- S5 W2 x# n9 \
3、size_type find_first_of(const char* s, size_type pos = 0)const;
' j7 F4 ?9 S4 j. t- {- A% `3 b! Z' h6 }+ e$ v
从pos位置开始找到第一个与s中的任意一个字符相等的字符
3 V; a" g! f  I9 h/ j1 L" h
9 E  r+ r# J3 x9 ?0 q: o. W4、size_type find_first_of(char ch, size_type pos = 0)const;
, K4 }( Z8 q( [4 w3 m; M! i* E1 i# c: s% I. G) k) e
从pos位置开始找到第一个等于ch的字符。: u: o; J1 Q3 A( o

% Y& {2 x4 Q+ U# T3 ~2 [5 V6 m" n
! R" k4 U2 y9 M0 Q5 F, Z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了