- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C和C字符串处理函数
C和C++字符串处理函数
rember this
strncpy(a,b,5);
a[5]=\0;
char a[10];
memset(a,#,sizeof(a));
a[10]=\0;
刚开始学C/C++时,一直对字符串处理函数一知半解,这里列举C/C++字符串处理函数,希望对初学者有一定的帮助。
C:
char st[100];
1. 字符串长度
strlen(st);
2. 字符串比较
strcmp(st1,st2);
strncmp(st1,st2,n); 把st1,st2的前n个进行比较。
3. 附加
strcat(st1,st2);
strncat(st1,st2,n); n表示连接上st2的前n个给st1,在最后不要加\0。
4. 替换
strcpy(st1,st2);
strncpy(st1,st2,n); n表示复制st2的前n个给st1,在最后要加\0。
5. 查找
where = strchr(st,ch) ch为要找的字符。
where = strspn(st1,st2); 查找字符串。
where = strstr(st1,st2);
C++:
string
string str;
1. 字符串长度
len = str.length();
len = str.size();
2. 字符串比较
可以直接比较
也可以:
pare(str2);
pare(pos1,len1,str2,pos2,len2); 值为负,0 ,正。
nops 长度到完。
3. 附加
str1 += str2;
或
str1.append(str2);
str1.append(str2.pos2,len2);
4. 字符串提取
str2 = str1.substr();
str2 = str1.substr(pos1);
str2 = str1.substr(pos1,len1);
string a=s.substr(0,4); //获得字符串s中 从第0位开始的长度为4的字符串
5. 字符串搜索
where = str1.find(str2);
where = str1.find(str2,pos1); pos1是从str1的第几位开始。
where = str1.rfind(str2); 从后往前搜。
6. 插入字符串
不是赋值语句。
str1.insert(pos1,str2);
str1.insert(pos1,str2,pos2,len2);
str1.insert(pos1,numchar,char); numchar是插入次数,char是要插入的字符。
7. 替换字符串
str1.replace(pos1,str2);
str1.replace(pos1,str2,pos2,len2);
8. 删除字符串
str.erase(pos,len)
str.clear();
9. 交换字符串
swap(str1,str2);
10. C -- C++
char *cstr = Hello;
string str1;
cstr = cstr;
string str2(cstr);
对于ACMer来说,C的字符串处理要比C++的方便、简单,尽量用C的字符串处理函数。
C++中string类常用算法
string类的构造函数:
string(const char *s); //用c字符串s初始化
string(int n,char c); //用n个字符c初始化
此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2=hello;都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常
string类的字符操作:
const char operator[](int n)const;
const char at(int n)const;
char operator[](int n);
char at(int n);
operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。
const char *data()const;//返回一个非
您可能关注的文档
最近下载
- 15走向辉煌2011高考语文阅读飞跃与写作_g3-cn11h.pdf VIP
- 农村环境整治工程施工组织设计.doc VIP
- 02J611-1钢钢木大门图集(OCR).pdf VIP
- 婴幼儿动作技能训练 标准课件.pptx VIP
- 吉林省长春市朝阳区吉林省实验中学2024-2025学年八年级上学期第一次月考数学试题(解析版).docx VIP
- 情景教学在小学英语教学中的应用.pptx VIP
- 福建省厦门双十中学2024-2025学年高一上学期第一次月考数学试卷(含答案).docx VIP
- 婚纱影视拍摄基地项目投资可行性研究报告.doc VIP
- 小学情景教学课件.ppt VIP
- 房屋建筑工程施工组织设计(最全、最完整范文).doc VIP
文档评论(0)