Home > Article > Web Front-end > Summary of usage of string class in C_javascript skills
I believe friends who have used MFC programming should be very impressed by the CString class, right? Indeed, the CString class in MFC is really convenient and easy to use. But if we leave the MFC framework, are there any classes that are very convenient to use? The answer is yes. Some people may say that even if you don't use the MFC framework, you can still find ways to use the API in MFC. The specific operation methods are given at the end of this article. In fact, many people may ignore the use of the string class in standard C. The string class function provided in standard C is also very powerful and can generally be used when we develop projects. Now I will list some of the specific usages as follows, just to serve as a starting point. Okay, stop talking nonsense and get to the point!
To use the string class in standard C, you must include
#include 98c455a79ddfebb79781bff588e7b37e// Note that it is 98c455a79ddfebb79781bff588e7b37e, not bbed3fed50f96ac7490cfc6a498c4bc5. The one with .h is the header file in C language
using std::string;
using std::wstring;
or
using namespace std;
Now you can use string/wstring, which correspond to char and wchar_t respectively.
The usage of string and wstring are the same, only string is used for introduction below:
Constructor of string class:
string(const char *s); //用c字符串s初始化 string(int n,char c);//用n个字符c初始化
In addition, the string class also supports default constructors and copy constructors, such as string s1; string s2="hello"; are all correct ways of writing. A length_error exception will be thrown when the constructed string is too long to be expressed;
Character operations of string class:
const char &operator[](int n)const; const char &at(int n)const; char &operator[](int n); char &at(int n); //operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。 const char *data()const;//返回一个非null终止的c字符数组 const char* c_str()const;//返回一个以null终止的c字符串 int copy(char *s, int n, int pos = 0)const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目
Characteristic description of string:
int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数) int max_size()const; //返回string对象中可存放的最大字符串的长度 int size()const; //返回当前字符串的大小 int length()const; //返回当前字符串的长度 bool empty()const; //当前字符串是否为空 void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分 string类的输入输出操作: string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作。 函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符'\n'分开。
Assignment of string:
string connection:
Comparison of strings:
string input("hello,this is a test"); istringstream is(input); string s1,s2,s3,s4; is>>s1>>s2>>s3>>s4;//s1="hello,this",s2="is",s3="a",s4="test" ostringstream os; os<<s1<<s2<<s3<<s4; cout<<os.str();
以上就是对C++ string类的一个简要介绍。用的好的话它所具有的功能不会比MFC中的CString类逊色多少,呵呵,个人意见!