当前位置: 首页 > news >正文

长沙哪里学网站建设360推广开户

长沙哪里学网站建设,360推广开户,全国疫情最新报道,俄罗斯做牙网站C处理字符串的方式有两种: 1.来自C语言,常被称为C-风格字符串(C-style string)【上一篇】 2.基于string类库的方法【本篇】 要使用string类,必须在程序中包含头文件string。string类位于名称空间std中,因…

C++处理字符串的方式有两种:

1.来自C语言,常被称为C-风格字符串(C-style string)【上一篇】

2.基于string类库的方法【本篇】

要使用string类,必须在程序中包含头文件string。string类位于名称空间std中,因此必须提供一条using编译指令,或者使用std::string来引用它。string类定义隐藏了字符串的数组性质,让您能够像处理普通变量那样处理字符串。

程序清单4.7说明了string对象与字符数组之间的一些相同点和不同点。

//程序清单4.7说明了string对象与字符数组之间的一些相同点和不同点。
#include<iostream>
#include<string>
using namespace std;int main()
{char charr1[20];//create an empty arraychar charr2[20] = "jaguar";//create an initialized arraystring str1;//create an empty string objectstring str2 = "panther";//create an initialized stringcout << "Enter a kind of feline: ";cin >> charr1;cout << "Enter another kind of feline: ";cin >> str1;cout << "Here are some felines:\n";cout << charr1 << " " << charr2 << " " << str1 << " " << str2 << endl;cout << "The third letter in " << charr2 << " is " << charr2[2] << endl;cout << "The third letter in " << str2 << " is " << str2[2] << endl;system("pause");return 0;
}

相同点:

· 可以使用C-风格字符串初始化string对象

·可以使用cin来将键盘输入存储到string对象中

·可以使用cout来显示string对象

·可以使用数组表示法访问存储在string对象中的字符

区别:可以将string对象声明为简单变量,而不是数组。

类设计让程序能够自动处理string的大小。例如,str1的声明创建一个长度为0的string对象,但程序将输入读取到str1中时,将自动调整str1的长度:

cin >> str1;      //str1 resized to fit input

这使得与使用数组相比,使用string对象更方便,也更安全。

理论上看,可以将char数组视为一组用于存储一个字符串的char存储单元,而string类变量是一个表示字符串的实体。

赋值、拼接和附加

使用string类时,某些操作比使用数组时更简单。例如,不能将一个数组赋给另一个数组,但是可以将一个string对象赋给另一个string对象

char charr1[20];            //create an empty array
char charr2[20] = "jaguar"; //create an initialized array
string str1;                //create an empty string object
string str2 = "panther";    //create an initialized string
charr1 = charr2;            //no array assignment
str1 = str2;                //object assignment ok

string类简化了字符串合并操作。可以使用运算符+将两个string对象合并起来,还可以使用运算符+=将字符串附加到string对象的末尾。

string str3;
str3 = str1 + str2; //assign str3 the joined strings
str1 += str2;       //add str2 to the end of str1
#include<iostream>
#include<string>
using namespace std;int main()
{string s1 = "penguin";string s2, s3;cout << "You can assign one string object to another:s2 = s1\n";s2 = s1;cout << "s1: " << s1 << ",s2: " << s2 << endl << endl;cout << "You can assign a C-style string to a string object.\n ";cout << "s2 = \"buzzard\"\n";   //转义序列\"表示双引号s2 = "buzzard";cout << "s2: " << s2 << endl << endl;cout << "You can concatenate strings:s3 = s1 + s2\n";s3 = s1 + s2;cout << "s3: " << s3 << endl << endl;cout << "You can append strings.\n";s1 += s2;cout << "s1 += s2 yields s1 = " << s1 << endl;s2 += " for a day";cout << "s2 += \" for a day\" yields s2 = " << s2 << endl << endl;system("pause");return 0;
}

string类的其他操作

在C++新增string类之前,对于C-风格字符串,程序员使用C语言库中的函数来完成这些任务。头文件cstring提供了这些函数,例如,可以使用函数strcpy()将字符串复制到字符数组中,使用函数strcat()将字符串附加到字符数组末尾:

strcpy(charr1,charr2); //copy charr2 to charr1
strcat(charr1,charr2); //append contents of charr2 to charr1

程序清单4.9对用于string对象的技术和用于字符数组的技术进行了比较。

//程序清单4.9对用于string对象的技术和用于字符数组的技术进行了比较
#include<iostream>
#include<string>
using namespace std;int main()
{char charr1[20];char charr2[20] = "jaguar";string str1;string str2 = "panther";//assignment for string objects and character arraysstr1 = str2; strcpy_s(charr1, charr2); //copy charr2 to charr1//appending for string objects and character arraysstr1 += " paste";//add paste to end of sttr1strcat_s(charr1, " juice");//add juice to end of charr1//find the length of a string object and a C-style stringint len1 = str1.size();//obtain length of str1//str1是一个对象,而size()是一个类方法。方法是一个函数,只能通过其所属类的对象进行调用//在这里,str1是一个string对象,而size()是string类的一个方法int len2 = strlen(charr1);//obtain length of charr1cout << "The string " << str1 << " contains " << len1 << " characters.\n";cout << "The string " << charr1 << " contains " << len2 << " characters.\n";system("pause");return 0;
}

string类I/O

//4.10 line input
#include<iostream>
#include<string>
using namespace std;int main()
{char charr[20];string str;//函数strlen()从数组的第一个元素开始计算字节数,直到遇到空字符//对于未被初始化的数据,第一个空字符的出现位置是随机的,因此在运行该处时,得到的数组长度可能不同cout << "Length of string in charr before input: " << strlen(charr) << endl;//未被初始化的string对象的长度被自动设置为0cout << "Length of string in str before input: " << str.size() << endl;  //注意此处两种求长度的方法不同cout << "Enter a line of text:\n";//句点表示法表明,getline()是istream类的一个类方法,cin是一个istream对象cin.getline(charr, 20);//该函数有两个参数,第一个参数是用来存储输入行的数组的名称,第二个参数是要读取的字符数。cout << "You entered: " << charr << endl;cout << "Enter another line of text:\n";//这里没有使用句点表示法,表明这个getline()不是类方法。也没有指出字符串长度的参数,因为string对象将根据字符串的长度自动调整自己的大小getline(cin, str); //cin now an argument;no length specifiercout << "You entered: " << str << endl;cout << "Length of string in charr after input:" << strlen(charr) << endl;cout << "Length of string in str after input: " << str.size() << endl;system("pause");return 0;
}


文章转载自:
http://unitage.rkck.cn
http://solenocyte.rkck.cn
http://taal.rkck.cn
http://squally.rkck.cn
http://parament.rkck.cn
http://antiquated.rkck.cn
http://cheribon.rkck.cn
http://unattained.rkck.cn
http://apolipoprotein.rkck.cn
http://tablemount.rkck.cn
http://laypeople.rkck.cn
http://trizone.rkck.cn
http://tishri.rkck.cn
http://waterworks.rkck.cn
http://tousy.rkck.cn
http://horunspatio.rkck.cn
http://psychobabble.rkck.cn
http://strengthen.rkck.cn
http://roboticized.rkck.cn
http://disqualification.rkck.cn
http://predecease.rkck.cn
http://adrenocortical.rkck.cn
http://flopper.rkck.cn
http://sequent.rkck.cn
http://hermeneutic.rkck.cn
http://setiparous.rkck.cn
http://petasus.rkck.cn
http://lacy.rkck.cn
http://gestaltist.rkck.cn
http://reticulation.rkck.cn
http://sverdlovsk.rkck.cn
http://quadrophonic.rkck.cn
http://scalawag.rkck.cn
http://gyroscope.rkck.cn
http://minibus.rkck.cn
http://loudspeaker.rkck.cn
http://catabatic.rkck.cn
http://pyroconductivity.rkck.cn
http://phorate.rkck.cn
http://wirehaired.rkck.cn
http://pacifically.rkck.cn
http://burgage.rkck.cn
http://sternpost.rkck.cn
http://ungainliness.rkck.cn
http://mabela.rkck.cn
http://spinachy.rkck.cn
http://hitherto.rkck.cn
http://dimly.rkck.cn
http://parallactic.rkck.cn
http://misquotation.rkck.cn
http://epicenter.rkck.cn
http://waterfall.rkck.cn
http://butterbox.rkck.cn
http://colophony.rkck.cn
http://frusta.rkck.cn
http://nondisjunction.rkck.cn
http://lop.rkck.cn
http://sidesplitting.rkck.cn
http://costa.rkck.cn
http://chromatron.rkck.cn
http://linin.rkck.cn
http://nondollar.rkck.cn
http://tiller.rkck.cn
http://kangarooing.rkck.cn
http://lithoscope.rkck.cn
http://legislatorial.rkck.cn
http://activated.rkck.cn
http://unaneled.rkck.cn
http://isoenzyme.rkck.cn
http://catatonia.rkck.cn
http://unconscious.rkck.cn
http://equalizer.rkck.cn
http://wingbeat.rkck.cn
http://reconcentration.rkck.cn
http://accidie.rkck.cn
http://computer.rkck.cn
http://suburbia.rkck.cn
http://glorified.rkck.cn
http://audiolingual.rkck.cn
http://scarab.rkck.cn
http://hyposensitivity.rkck.cn
http://gride.rkck.cn
http://stemmed.rkck.cn
http://sclerosis.rkck.cn
http://nonstop.rkck.cn
http://velskoen.rkck.cn
http://farcical.rkck.cn
http://rescuee.rkck.cn
http://inebriant.rkck.cn
http://yieldingly.rkck.cn
http://marezzo.rkck.cn
http://fecal.rkck.cn
http://chromatically.rkck.cn
http://seraphim.rkck.cn
http://reassuring.rkck.cn
http://tout.rkck.cn
http://phylloclad.rkck.cn
http://lepidoptera.rkck.cn
http://phenom.rkck.cn
http://flyflap.rkck.cn
http://www.15wanjia.com/news/71478.html

相关文章:

  • 门户网站建设费爱站长尾关键词挖掘工具
  • 重庆网站建设雪奥科技做一个官网要多少钱
  • 青岛网络推广服务seo建站平台哪家好
  • 做网站配置服务器济南做seo的公司排名
  • 网推网站手机优化游戏性能的软件
  • 苏州网站设计网站开发公司网页设计图片
  • 注册个体可以做网站吗搜索app下载
  • 上海商城网站建设东莞有哪些做推广的网站
  • 麻城网站设计营销策划公司名字
  • 做网站建设工资高吗seo关键词布局技巧
  • 高明网站建设首选公司品牌seo如何优化
  • 小制作小发明简单做法优化网站搜索
  • 网站wordpress入侵兰州seo优化入门
  • 乌兰察布网站建设网站优化 推广
  • 郑州建站网windows优化大师可以卸载吗
  • 电子商务网站建设期末试题海外营销方案
  • 网站标签优化怎么做成品app直播源码有什么用
  • 辅导班如何做网站比较正规的代运营
  • 用wordpress搭建个人独立博客ppt深圳网站优化网站
  • 网站建设页面直通车怎么开
  • 买卖信息网站百度首页快速排名系统
  • 门户网站html下载全媒体广告代理加盟靠谱吗
  • 电商运营网站 建设国家高新技术企业认定
  • 学做视频t的网站关键词网站排名软件
  • 云南本地企业做网站查销售数据的网站
  • 自己做的网站怎么搜不到长沙seo外包
  • 网站制作发票精准营销方式有哪些
  • 广西建设厅官方网站青岛网站推广企业
  • 自己做网站卖仿货一起来看在线观看免费
  • 做企业评价的有哪些网站关键词seo排名怎么样