C++中常⽤的字符串函数
C++语⾔提供了⽐C语⾔更丰富的字符串处理功能。它可以在字符串上经⾏输⼊,输出,合并,修改,⽐较,转换,复制,搜索等操作。使⽤这些现成的功能可以⼤⼤减少我们的编程的负担。
输⼊和输出的字符串函数,如printf,puts,cout,scanf,gets,cout等,在使⽤时应包含头⽂件cstdio,并使⽤其他字符串函数包含头⽂件cstring。
cstring是⼀个专门⽤于处理字符串的头⽂件。它包含许多字符串处理函数。由于篇幅限制,本节只能解释⼀些常见的内容。
字符串连接函数 strcat()
strcat 就是 string catenate 的缩写,意思为把两个字符串拼在⼀起,其格式为:
strcat(Str1, Str2);
Str1、Str2 为需要拼接的字符串。
strcat() 将把 Str2 连接到 Str1 后⾯,并删除原来 Str1 最后的结束标志\0。这意味着,Str1 必须⾜够长,要能够同时容纳 Str1 和
Str2,否则字符数组会越界(超出字符串范围)。
strcat() 的返回值为 Str1 的地址。
这是⼀个简单的演⽰:
#include <cstdio>
#include <cstring>
int main(){
char str1[100]="The URL is ";
char str2[60];
cout<<"Input a URL: ";字符串比较函数实现
gets(str2);
strcat(str1, str2);
puts(str1);
return 0;
}
字符串复制函数 strcpy()
strcpy 是 string copy 的缩写,意思是字符串复制,也即将字符串从⼀个地⽅复制到另外⼀个地⽅,语法格式为:
strcat(Str1, Str2);
strcpy() 会把 Str2 中的字符串拷贝到 Str1 中,字符串结束标志\0也⼀同复制。下⾯是⼀个简单的演⽰:
#include <cstdio>
#include <cstring>
int main(){
char str1[50] = "云⿊系统";
char str2[50] = "/";
strcpy(str1, str2);
printf("str1: %s\n", str1);
return 0;
}
你看,将 str2 复制到 str1 后,str1 中原来的内容就被覆盖了。
另外,strcpy() 要求 Str1 要有⾜够长的长度,否则不能全部装⼊所复制的字符串。
字符串⽐较函数 strcmp()
strcmp 是 string compare 的缩写,表⽰字符串⽐较。语法是:
strcmp(Str1, Str2);
Str1 和 Str2 是两个需要⽐较的字符串。
字符本⾝没有⼤⼩,strcmp()⽐较字符的ASCII值。
strcmp()开始⽐较两个字符串的第0个字符。如果它们相等,它们会继续⽐较下⼀个字符,直到它们遇到不同的字符或字符串的末尾。返回值:如果 Str1 和 Str2 相同,则返回0;如果 Str1 ⼤于 Str2,则返回⼤于 0 的值;若 Str1 ⼩于 Str2,则返回⼩于0 的值。⽐较4组字符串:
#include <cstdio>
#include <cstring>
int main(){
char str1[] = "aBcDeF";
char str2[] = "AbCdEf";
char str3[] = "aacdef";
char str4[] = "aBcDeF";
printf("a VS b: %d\n", strcmp(a, b));
printf("a VS c: %d\n", strcmp(a, c));
printf("a VS d: %d\n", strcmp(a, d));
return 0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论