基础备忘:字符数组、字符串和字符串处理基本函数
2012-08-15 11:40
435 查看
1)字符串是一种特殊的字符数组。
strlen()函数的功能是计算字符串的实际长度(不包含字符串的结束标志\0)。当用户用cin输入的字符串中含有空格时,strlen()计算不了空格后的字符数,cin默认以空格作为字符结束的标志。而这在实际应用中是不合理的。
使用gets()函数能输入带空格的字符串,而且能被编译器完整接收,并准确计算长度。而cin只有空格前的串能被接收。因些当字符串本身包含空格时,建议使用gets()输入,puts()输出。不使用cin()和cout()。
对于二维字符串数组,则
5)字符串处理函数
strcmp(字符串数组名1,字符串数组名2)
功能:按照ASCII码值的顺序比较两个数组中的字符串,并由函数返回值返回比较结果。
取值:
字符串1=字符串2,返回0;
字符串1>字符串2,返回值大于0;
字符串1<字符串2,返回值小于0.
strcpy(字符串数组名1,字符串数组名2)
功能:把字符串2复制到字符串1.
字符串是一个字符数组,因此就有数组的局限性,不能用一个字符串给另外的一字符串赋值。如以下语句是错误的:
strcat(字符串数组名1,字符串数组名2)
功能:c++的字符串是一种特殊的字符数组,不能通过“+”来实现两个字符串的连接。
strcat的功能就是把字符串2中的字符串连接到字符串1后面,并删去字符串1中的"\0"。
返回值:
字符串1的首地址。
char b[]={"hello"}; char b[]="hello"; //两种都是合法的。2)使用字符串形式可以简化赋初值,同时在进行输入输出的时候可以不需要使用循环语句来完成。
char array[]="welcome"; cout<<arrry<<endl;//可直接打印出整个字符串3)字符串的长度是其中字符的数目再加1,因为其包含了结束符\0,而字符数组的长度就是其中字符的数目。blog:sizeof与strlen
char a[]="welcome"; char b[]={'w','e','l','c','o','m','e'}; int la,lb; la=sizeof(a)/sizeof(char);//长度为8 lb=sizeof(b)/sizeof(char);//长度为74)函数strlen(),gets(),puts()。
strlen()函数的功能是计算字符串的实际长度(不包含字符串的结束标志\0)。当用户用cin输入的字符串中含有空格时,strlen()计算不了空格后的字符数,cin默认以空格作为字符结束的标志。而这在实际应用中是不合理的。
char str[100]; int len; cin>>str; len=strlen(str); //如果输入是Hello World。那么len的结果是5,而不是11。
使用gets()函数能输入带空格的字符串,而且能被编译器完整接收,并准确计算长度。而cin只有空格前的串能被接收。因些当字符串本身包含空格时,建议使用gets()输入,puts()输出。不使用cin()和cout()。
#include<iostream> using namespace std; int main(){ char str1[100],str2[100]; int len; cout<<“输入字符串(gets方式):”; gets(str2); cout<<“字符串为:”<<endl; puts(str2); len=strlen(str2); cout<<"字符串长度为:"<<len<<endl; cout<<endl; cout<<"输入字符串(cin方式):"<<endl; cin>>str1; cout<<“字符串为:”<<str1<<endl; len=strlen(str1); cout<<"字符串长度为:"<<len<<endl; system("pause"); return 0; } /* gets方式: Hello world Hello world 11 cin方式: Hello world Hello 5 */
对于二维字符串数组,则
char name[5][20]; cout<<"请输入5个名字:"<<endl; for(int i=0;i<5;i++) gets(name[i]);
5)字符串处理函数
strcmp(字符串数组名1,字符串数组名2)
功能:按照ASCII码值的顺序比较两个数组中的字符串,并由函数返回值返回比较结果。
取值:
字符串1=字符串2,返回0;
字符串1>字符串2,返回值大于0;
字符串1<字符串2,返回值小于0.
strcpy(字符串数组名1,字符串数组名2)
功能:把字符串2复制到字符串1.
字符串是一个字符数组,因此就有数组的局限性,不能用一个字符串给另外的一字符串赋值。如以下语句是错误的:
char name[20]; name = "Jason";而可以用以下方法:
方法1: char name[20]; strcpy(name,"jason"); 方法2:char a[]="welcome"; 方法3:char b[]={'w','e','l','c','o','m','e'};
strcat(字符串数组名1,字符串数组名2)
功能:c++的字符串是一种特殊的字符数组,不能通过“+”来实现两个字符串的连接。
strcat的功能就是把字符串2中的字符串连接到字符串1后面,并删去字符串1中的"\0"。
返回值:
字符串1的首地址。
相关文章推荐
- JavaScript基础 split("") 将字符串分割成字符数组
- Swift基础(二):运算符、字符串和字符、数组、集合、字典
- JavaScript基础 split("") 将字符串分割成字符数组
- 字符数组,字符串,处理字符串的函数,周小结
- 指针数组和字符类型的二维数组在处理字符串时的区别
- 【shell基础】11、数组初步及字符串处理
- C语言:字符数组与字符串处理 实践 1
- C/C++(字符串处理)字符指针、字符数组用法大总结
- 《C语言及程序设计》程序阅读——字符数组与字符串处理
- [C基础] 字符串处理篇之删除字符||字符串
- 《C语言及程序设计》程序填空——字符数组与字符串处理
- 深入解析C++中的字符数组和处理字符串的方法
- C++基础之字符数组和字符串
- 《C语言及程序设计》实践项目——字符数组与字符串处理
- 字符数组及字符串的处理函数
- 字符数组的定义、初始化及引用以及一些常用的字符串处理函数
- linux基础学习第十三天(数组、字符串变量处理)
- 补补基础知识,关于字符串,字符数组,CString型字符串,strlen,sizeof
- 三十二、数组、指针和字符串:字符数组存放和处理字符串
- C语言:字符数组与字符串处理 实践 2