参考:菜鸟教程-C++教程,文章后面有CSDN上一个很好的内容,给大家搬过来的,我就不写第七节了。
函数们
(我给的返回类型里写的void并不是void,只是返回一般没人用罢了)
void strcpy(char s1[], char s2[]);
复制字符串 s2 到字符串 s1。
void strcat(char s1[], char s2[]);
连接字符串 s2 到字符串 s1 的末尾。
unsigned int strlen(char s1[]);
返回字符串 s1 的长度。
int strcmp(char s1[], char s2[]);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回值小于 0;如果 s1>s2 则返回值大于 0。
char* strchr(char s1[], char ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
char* strstr(char s1[], char s2[]);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
实例:
char st1[] = "hello world!";
char st2[64] = "";
strcpy_s(st2, st1);//64位的问题,要加_s
cout << st2 << endl;
cout << strlen(st2) << endl;
st2[11] = 'u';
cout << st2 << " " << strcmp(st1, st2)<<endl;
cout << *strstr(st2, "o");//我们要找o,读取这个指针只会得到一个o
结果:
有这些函数够了,但千万别混淆string!!!!!!!!!!
不需要函数的操作
读取字符
str[i];
写入字符
str[i]='a';
str替换
char* i=strstr(str,sub);
for(char* j=i;j<i+surlen(sub);j++){
*j=rep[(int)(j-i)];
}
另:很有用的内容,一定要看!
C++中string、char *、char[]、const char*的转换
下一章,讲动态内存.