Rumah  >  Artikel  >  hujung hadapan web  >  Ringkasan penggunaan kelas rentetan dalam kemahiran C_javascript

Ringkasan penggunaan kelas rentetan dalam kemahiran C_javascript

WBOY
WBOYasal
2016-05-16 15:46:411056semak imbas

Saya percaya rakan-rakan yang telah menggunakan pengaturcaraan MFC sepatutnya sangat kagum dengan kelas CString, bukan? Memang, kelas CString dalam MFC sangat mudah dan mudah digunakan. Tetapi jika kita meninggalkan rangka kerja MFC, adakah terdapat kelas yang sangat mudah untuk digunakan? Jawapannya ya. Sesetengah orang mungkin mengatakan bahawa walaupun anda tidak menggunakan rangka kerja MFC, anda masih boleh mencari cara untuk menggunakan API dalam MFC Kaedah operasi khusus diberikan pada akhir artikel ini. Malah, ramai orang mungkin mengabaikan penggunaan kelas rentetan dalam standard C. Fungsi kelas rentetan yang disediakan dalam standard C juga sangat berkuasa dan secara amnya boleh digunakan apabila kami membangunkan projek. Sekarang saya akan menyenaraikan beberapa penggunaan khusus seperti berikut, hanya untuk menjadi titik permulaan Okay, berhenti bercakap kosong dan sampai ke intinya!

Untuk menggunakan kelas rentetan dalam standard C, anda mesti memasukkan

#include 98c455a79ddfebb79781bff588e7b37e// Ambil perhatian bahawa ia adalah 98c455a79ddfebb79781bff588e7b37e, bukan bbed3fed50f96ac7490cfc6a498c4bc5 yang mempunyai .h ialah fail pengepala dalam bahasa C

menggunakan std::string;

menggunakan std::wstring;

atau

menggunakan ruang nama std;

Kini anda boleh menggunakan rentetan/wstring, yang sepadan dengan char dan wchar_t masing-masing.

Penggunaan rentetan dan wstring adalah sama, hanya rentetan digunakan untuk pengenalan di bawah:

Pembina kelas rentetan:

string(const char *s); //用c字符串s初始化
string(int n,char c);//用n个字符c初始化

Selain itu, kelas rentetan juga menyokong pembina lalai dan pembina salinan, seperti rentetan s1 rentetan s2="hello" semuanya adalah cara penulisan yang betul. Pengecualian length_error akan dilemparkan apabila rentetan yang dibina terlalu panjang untuk dinyatakan

Kendalian watak kelas rentetan:

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为起始位置的字符数组中,返回实际拷贝的数目

Perihalan ciri rentetan:

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'分开。

Penugasan rentetan:

Salin kod Kod adalah seperti berikut:
string &operator=(const string &s);//Convert rentetan s Berikan kepada rentetan semasa
rentetan &tugaskan(const char *s);//Tetapkan nilai dengan rentetan jenis c s
rentetan &tugaskan(const char *s,int n);//Tetapkan n aksara bermula daripada c rentetan s
string &assign(const string &s);//Tetapkan rentetan s kepada rentetan semasa
rentetan &tugaskan(int n,char c);//Tetapkan n aksara c pada rentetan semasa
string &assign(const string &s,int start,int n);//Tetapkan n aksara bermula dari mula dalam rentetan s hingga rentetan semasa
string &assign(const_iterator first, const_itertor last);//Tugaskan bahagian antara iterator pertama dan terakhir kepada rentetan

sambungan rentetan:

Salin kod Kod adalah seperti berikut:
string &operator =(const string &s);//put rentetan s Gabungkan ke hujung rentetan semasa
string &append(const char *s); //Sambungkan rentetan jenis c s ke hujung rentetan semasa
rentetan &tambah(const char *s,int n);//Sambungkan n aksara pertama rentetan jenis c s ke penghujung rentetan semasa
string &append(const string &s); //Sama seperti operator =()
rentetan &tambah(rentetan const &s,int pos,int n);//Sambungkan n aksara bermula dari pos dalam rentetan s hingga penghujung rentetan semasa
string &append(int n,char c); //Tambah n aksara c
pada penghujung rentetan semasa rentetan &tambah(const_iterator dahulu, const_iterator terakhir);//Sambungkan bahagian antara iterator dahulu dan terakhir ke penghujung rentetan semasa

Perbandingan rentetan:

Salin kod Kod adalah seperti berikut:
bool operator==(const string &s1,const string &s2 )const; //Bandingkan dua rentetan untuk melihat sama ada ia sama
Pengendali ">", "6745434bf92a2979d589ede8e8e7bea9=", "f4dc34024fd9fc2ac3aef6ac7d6f870e, -1 apabila a48a735ad5a898ca2ceea18aba40355e头文件中
例如:
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类逊色多少,呵呵,个人意见!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn