C++字符串(string)
来源:互联网 发布:沈阳二手房数据 编辑:程序博客网 时间:2024/06/05 19:55
C++兼容C对字符串的处理方式,与此同时还在标准库(STL)中提供了string类,使用string来处理对象。
要包含头文件#include<string>
string 类对象的初始化;
方式一:string 变量=字符串。
方式二:string 类的构造函数。
构造函数 描述
string() 创建一个默认的string对象,长度为0。
string (const char *s) 将对象初始化为s指向的字符串。
string (size_type n,char s) 创建一个包含n个字符s的对象。
string (string &str, size_ type index,size_type length) , 将对象初始化对象str中从位置index开始到结尾的字符
,或从位置index开始的length个字符。
string(const char* s,size _type n) ; 初始化为s指向的字符串中的前n个字符。
#include <iostream>
#include "string"
using namespacestd;
int main(int argc,constchar * argv[])
{
//四种方法直接赋值。
string s="1234";//直接使用字符串初始化
cout<<s<<endl;
string s1=s;//string对象间直接初始化。
cout<<s1<<endl;
char szString[10]="abcd";
string s2=szString;//字符数组直接初始化。
cout<<s2<<endl;
char *pAddress="Bejing";
string s3=pAddress;//字符指针直接初始化。
cout<<s3<<endl;
cout<<"&&&&&&&&&&&&&&&&&&"<<endl;
// string 5个构造函数的例子
string str;//创建一个默认的string对象,长度为0;
cout<<str<<endl;
string str1("This is a string.");//将对象初始化为指定的字符串。
cout<<str1<<endl;
string str2(5,'a');//创建一个包含5个字符'a'的对象。
cout<<str2<<endl;
string str3(str1,10);//将对象str3初始化为对象str1中从位置10开始到结尾的字符。
cout<<str3<<endl;
string str4(str1,0,7);//将对象str4初始化为从对象str1中从位置0开始,连续的7个字符
cout<<str4<<endl;
string str5("This is a string.",7);//初始化为指定字符串的前7个字符。
cout<<str5<<endl;
string haha(20,'-');
cout<<haha<<endl;
//string类对象的赋值。
string st1;
st1="Real Madrid";//对象=字符串。
cout<<st1<<endl;
string st2;
st2=st1;//对象m=对象n
cout<<st2<<endl;
string st3;
st3.assign("Shanghai");//对象.assingn(字符串)。//这种方法,用的少了。
cout<<st3<<endl;
string st4;
st4.assign(st3);//对象.assingn(字符串对象);//这种方法,用的少了。
cout<<st4<<endl;
《string类本身的一些处理函数》
字符串的连接:
方式一:变量1=变量1+变量2;
方式二:变量1.append(变量2);
方式三:变量1.addpen(字符数组名);
字符串的长度:
统计string类对象的长度,可以用以下方式进行完成。
方式1;对象.length()或对象.size();
方式2:strlen(对象.c_str());
//字符串的输入输出。
string nName;
cout<<"请输入字符:"<<endl;
cin>>nName;//输入的内容默认以空格回车结束
cout<<nName<<endl;
getchar();
cout<<"请输入字符:"<<endl;
getline(cin, nName);//输入的内容默认以回车结束
cout<<nName<<endl;
cout<<"请输入字符:"<<endl;
getchar();
getline(cin, nName,'#');//遇到#结束。可以指定结束符。
cout<<nName<<endl;
//string类对象的赋值。
string st1;
st1="Real Madrid";//对象=字符串。
cout<<st1<<endl;
string st2;
st2=st1;//对象m=对象n
cout<<st2<<endl;
string st3;
st3.assign("Shanghai");//对象.assingn(字符串)。//这种方法,用的少了。
cout<<st3<<endl;
string st4;
st4.assign(st3);//对象.assingn(字符串对象);//这种方法,用的少了。
cout<<st4<<endl;
//字符串数组。
char ch[100]="Beijing";
string str1(ch);// string变量(数组)
cout<<str1<<endl;
string str2;
str2=ch;//string 变量(数组) 常用的方法。
cout<<str2<<endl;
string str3;
str3.assign(ch);//数组.assign(数组。)
cout<<str3<<endl;
string arr="New ";
string arr1="York";
arr=arr+arr1;//变量 1+=变量2;
cout<<arr<<endl;
string arr2="How ";
string arr3="are ";
arr2.append(arr3);//变量1.append(变量2);
cout<<arr2<<endl;
char name[20]="you";
arr2.append(name);//变量1.append(字符数组名);
cout<<arr2<<endl;
//统计字符串长度;
cout<<arr2.length()<<endl;//方法一
cout<<arr2.size()<<endl;//方法二
cout<<strlen(arr2.c_str())<<endl;//方法三
//字符串的查找 find函数返回值为string ::npos, npos本身是-1.
string arr("Alpha Beta Camma Delta");
int loc=arr.find("Omega",0);//第二个参数为从第一个参数的第几个字符开始查找。
// npos 本身是-1,
if (loc!=string ::npos)//当在字符串中未找到时,find函数返回值为string ::npos.
{
cout<<"Found omega at"<<loc<<endl;
}
else
cout<<"Didn't find omgega"<<endl;
//字符串的比较
string arr1("This is a string.");
if (arr1.compare("This is a string."))//当两个字符串相同是返加为0,
{
cout<<"两个字符串不同"<<endl;
}
else
cout<<"两个字符串相同"<<endl;
string arr2=arr1;
if (arr2.compare(arr1))//当两个字符串相同是返加为0
{
cout<<"两个字符串不同"<<endl;
}
else
cout<<"两个字符串相同"<<endl;
//替换
string app("This is a string.");
//第一个参数为从字符串str的第几个字符开始替换,第二个参数为要替换几个字符,第三个参数为替换成的字符串。
app.replace(8,1, "another");
cout<<app<<endl;
app="This is a string.";
string app1("another");
//第一个参数为从字符串str的第几个字符开始替换,第二个参数为要替换几个字符,第三个参数为替换成的字符串。
app.replace(8,1, app1);
cout<<app<<endl;
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- string替换所有指定字符串(C++)
- c#-string 字符串相关
- [C++]string分割字符串
- C++_字符串(string)
- C#---字符串String
- C++string字符串1.1
- C#-String字符串操作
- [iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端二)
- 获取tableviewCell在当前屏幕中的坐标值
- ORACLE中数组
- 黑马程序员:内部类介绍
- lighttp+php+arm-ubuntu上传文件(带滚动条)
- C++字符串(string)
- Robotium 测试资料
- 获得数据中的数字部分
- RTP RTSP RTCP资料
- [iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端三)
- C#中的索引器
- “人不为己,天诛地灭”到底是什么意思?
- 给定一个整数数组,通过变换使得数组的左边为奇右边为偶数!
- Prefabs(预设)与 Instantiate(实例化)