nullnull字符数组即数组中的每一个元素是字符,在C++语言中字符型数组的应用很多:
(1)字符数组定义、引用及初始化
定义:char a[10];
此时定义了一个包含10个字符元素的字符数组。
初始化:
static char c[14]={‘I’, ‘ ’, ‘a’, ‘m’, ‘ ’, ‘a’, ‘ ’, ‘s’, ‘t’, ‘u’, ‘d’, ‘e’, ‘n’, ‘t’};
Static char c[ ]={“I am a student”};
Static char c[ ]=“I am a student”;6. 4 字符数组及字符串处理函数null(2)字符数组的输入、输出• 逐个字符的输入、输出;
char str[10];
cout<<“输入十个字符:”;
for(int I=0; I<10; I++) cin>>str[I];
• 把字符数组作为字符串输入、输出;
char s1[50],s2[60];
cout<<“输入两个字符串:”;
cin>>s1; cin>>s2;
cout<<“\n s1=”<
void main(void) {
char s3[81];
char s4[8]={‘s’, ‘j’, ‘f’, ‘s’, ‘k’, ‘l’, ‘f’, ‘j’};
cout<<“输入一行字符串:”;
cin.getline(s3, 80);
cout<<“s3=”<
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示字符数组1的地址。
static char str1[80]=“people’s republic of”;
static char str2[ ]=“china”;
strcat(str1, str2);
说明:
a.str1必须足够大,以便容纳连接后的新字符串。
b.连接时将str1后面的‘\0’取消,只在新串最后保留一个‘\0’。(b) strcat(字符数组1,字符数组2)null函数原形:
int strcmp(char *, char *);
功能:对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到‘\0’为止。比较结果由函数返回。
关系 返回值
str1 == str2; =0 FALSE
str1 > str2; >0 TRUE
str1 < str2; <0 TRUE(c) strcmp(字符数组1,字符数组2)说明:两个字符串的比较不能用以下形式:
if(str1 == str2) cout<
#include
void main(void) {
char s[200];
int count, i, j;
cout<<"Input a string: \n";
cin.getline(s, 200);
for(count=0, j=strlen(s),i=0 ;i
using namespace std;null(2) string类字符元素的访问比C字符串有所增强:
str[i] //返回str中索引i处字符的引用,不查是否出界
str.at(i) //返回str中索引i处字符的引用,查是否出界
(3) string类重载了一些运算符,特别注意当目标串较小,无法容纳新的字符串,系统会自动分配更多的空间给目标串,不必顾虑出界:
str1=str2; //str1成为str2的拷贝
str1+=str2; //str2的字符数据连接到str1的尾部
str1+str2; //返回一个字符串,它将str2连接到str1的尾部
str1==str2; str1!=str2; //比较串是否相等,返回布尔值
str1str2; str1<=str2; str1>=str2;
//基于字典序的比较,返回布尔值
null(4) string类的输入输出。输出与C风格字符串同样方便,使用插入运算符<<和cout。输入如用提取运算符>>,代码读取的是以空白字符结束的字符串,输入完整的字符串可用非成员函数getline,注意格式:
getline(cin,str); //串以’\n’结束
getline(cin,str,ch); //串以ch结束
(5) string类有一些常用的成员函数可进行字符串处理:
str.substr(pos,length1);
//返回对象的一个子串,从pos位置起,长length1个字符
str.empty( ); //查是否空串
str.insert(pos,str2); //将str2插入str的pos位置处nullstr.remove(pos,length1);
//在str位置pos处起,删除长度为length1的字串
str.find(str1); //返回str1首次在str中出现时的索引
str.find(str1,pos);
//返回从pos处起str1首次在str中出现时的索引
str.length(str); //返回串长度
(6) C字符串到string类对象是由构造函数隐式自动进行,而string类对象到C字符串的转换必须执行显示的类型转换,应调用成员函数
str.c_str( ); //将string类转换为C风格字符串,返回char*null回文是指顺读和反读都一样的串,这里不分大小写,并滤去所有非字母字符,如:
Madam,I’m Adam.
Golf,No Sir, prefer prison flog!
都是回文。 注意string是类,它有自己的构造函数和析构函数,如果它作为类或结构的成员,要记住它是成员对象,当整个类对象建立和撤销时,会自动调用作为成员对象的string字符串的构造和析构函数。 【例5.12】判断字符串是否为回文。nullbool is_pal(const string& s){ //判断是否回文
string punct(",;:.?'\" "); //包括空格符
string str(make_lower(s));
str=remove_punct(str,punct); //滤去所有非字母字符
return str==reverse(str);}
string make_lower(const string& s){ //所有大写改为小写
string temp(s);
int i,s_length=s.length();
for(i=0;i=p_length) no_punct=no_punct+a_ch;
//punct中无a_ch,a_ch拷入新串
}
return no_punct;
} //将第一个字符串中所包含的与第二个字符串中相同的字符删去nullint main( )
{
string str;
cout<<"请输入需判断是否为回文的字符串,以回车结束。\n";
getline(cin,str);
if(is_pal(str)) cout<
本文档为【C++的string类】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。