#include <iostream>
#include <string> // string class 需要导入该头文件 string 在该文件的 std namespace中
#include <cstring> // C 语言中处理字符数组用的头文件 strcpy strcat strlen 等函数
void cstringTest(void); //C 语言处理 字符数组 和字符串的一些处理
int main(void)
{
using namespace std;
string str1 = "meixuelei";
char a[] = "sdfsdf";
std::cout <<a<<"\t"<<str1<<std::endl;
char b[20];
//b = a; error 不能将数组赋值给数组
string str = str1; // 字符串之间可以赋值
str = "wangkjsdflkj";
string str3 = str1 + str; // 字符串可以通过 + += 进行连接
std::cout<<"str3----------->"<<str3<<std::endl;
string st = a; // string 和 char [] 之间转换 或者 string(a)
std::cout<<"st------------>"<<st<<std::endl;
cstringTest();
std::cout<<"input string"<<std::endl;
getline(cin,st); // 读取输入的string 的语法 和 读取 char数组 语法不太一样
// 在读取 char数组时 用到 的geline是个 istream对象 cin的类方法 而且 这里的getline 不是类方法 这和当初设计有关
std::cout<<st<<"\t"<<st.size()<<std::endl;
/*
C++ 11 有添加新的类型
wchar_t title[] = L"sfsdf"; // 注意开头的字符
char16_t name[] = u"asdfsdf";
char32_t car[] = U"skldjflksjflk sdklfj"
*/
return 0;
}
void cstringTest(void)
{
char a[] = "jaguar";
char b[50];
strcpy(b, a); // 将 数组a 的内容 copy 到 b数组中
strcat(b, "------------>this is char"); // 在 数组b 末尾追加 字符 strlen(char) 算长度
std::cout<<"cstringTest-------------> start"<<std::endl;
std::cout<<b<<"\t"<<strlen(b)<<std::endl;
std::string str = "this is string";
std::string st = "";
st = str; // string copy
st += "------------->"; // 末尾追加 st.size() string size
std::cout<<st<<"\t"<<st.size()<<std::endl;
std::cout<<"cstringTest-------------> end"<<std::endl;
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。