Heim > Backend-Entwicklung > C#.Net-Tutorial > Zusammenfassung der Verwendung von String-Objekten in C++

Zusammenfassung der Verwendung von String-Objekten in C++

php是最好的语言
Freigeben: 2018-08-08 10:59:10
Original
2001 Leute haben es durchsucht

Im Vergleich zur C-Sprache hat C++ die Unterstützung für Zeichenfolgen erheblich verbessert. Zusätzlich zur Verwendung von Zeichenfolgen im C-Stil können Sie auch den integrierten Datentyp „String“ verwenden Funktionskapselung. Zählen wir die Funktionen der String-Klasse

Wenn Sie die String-Klasse aufrufen möchten, schließen Sie zunächst deren Header-Datei ein #include <string>

string s1;//变量s1只是定义但没有初始化,所以其默认值为""即空字符串string s2="Hello World!";//变量s2在定义时同时被初始化/*string类的变量可以相互之间直接赋值,不需要像C语言一样,使用strcpy()函数一个字符一个字符的去赋值*///例如string s3=s2;//此时s3的内容和s2一样也是Hello World!//如果需要定义一个由很多相同字符组成的字符串时,还有另外的简便写法string s4(int n,char c);//s4是被初始化为由n的字符c组成的字符串
Nach dem Login kopieren

Bezüglich der Suche Die Länge einer Zeichenfolge können wir in der C-Sprache mit der Funktion strlen() ermitteln, und strlen(s3) kann auch in C++ verwendet werden, um die tatsächliche Länge der s3-Zeichenfolge zu ermitteln Wesentlicher Unterschied zwischen der String-Klasse in C++ und der C-Sprache: Wir rufen im Allgemeinen die Funktion string.length() auf, um die Länge eines Strings zu ermitteln.

int len=0;len=string.length(s3);
cout<<"s3字符串的长度为"<<len<<endl;
Nach dem Login kopieren

Wie oben erwähnt, wenn Sie einen stringähnlichen String zuweisen Bei einer anderen stringähnlichen Zeichenfolge müssen Sie den Wert nur direkt zuweisen. Was sollen wir jedoch tun, wenn die Zeichenfolgenklasse der char*-Klasse oder die char*-Klasse der Zeichenfolgenklasse zugewiesen wird? Natürlich kann es nicht direkt zugewiesen werden

//string类赋值给string类string s1="hello world";string s2;
s2=s1;//string类赋值给char*类string s1="hello world";char str[20]={0};
strcpy_s(str,s1.c_str());//char*类赋值给string类char str[20]="hello world";string s2;
s2=str;
Nach dem Login kopieren

Gleichzeitig können Variablen vom Typ String auch Zeichenarray-Operationen verwenden, um eine der darin enthaltenen Variablen zu ändern >

#include <iostream>#include <string>string s1="this is my house";int i;//如果我们现在想改变里面某一个字符,可以直接将s1当成数组,找到对应的下标来改变i=6;
s[i]=&#39;t&#39;;//这样就可以将第6个字符改成t了
Nach dem Login kopieren

hat eine String-Klasse, wir können den Operator „+“ oder „+=" verwenden, um Strings direkt zu verbinden, was sehr praktisch ist. Wir müssen strcat(), strcpy(), malloc() und nicht mehr verwenden Andere Funktionen in der C-Sprache zum Zusammenfügen von Zeichenfolgen. Bei Verwendung von „+“ zum Zusammenfügen von Zeichenfolgen können beide Seiten des Operators Zeichenfolgen oder eine Zeichenfolge im C-Stil sein kann auch Ist eine Zeichenfolge und ein Zeichen vom Typ char.

Zuweisung der String-Klasse

string &operator=(const string &s);//把字符串s赋给当前字符串 string &assign(const char *s);//用c类型字符串s赋值string &assign(const char *s,int n);//用c字符串s开始的n个字符赋值string &assign(const string &s);//把字符串s赋给当前字符串string &assign(int n,char c);//用n个字符c赋值给当前字符串string &assign(const string &s,int start,int n);//把字符串s中从start开始的n个字符赋给当前字符串string &assign(const_iterator first,const_itertor last);//把first和last迭代器之间的部分赋给字符串
Nach dem Login kopieren

Verbindung des Strings

string &operator+=(const string &s);//把字符串s连接到当前字符串的结尾 string &append(const char *s);//把c类型字符串s连接到当前字符串结尾string &append(const char *s,int n);//把c类型字符串s的前n个字符连接到当前字符串结尾string &append(const string &s);    //同operator+=()string &append(const string &s,int pos,int n);//把字符串s中从pos开始的n个字符连接到当前字符串的结尾string &append(int n,char c);        //在当前字符串结尾添加n个字符cstring &append(const_iterator first,const_iterator last);//把迭代器first和last之间的部分连接到当前字符串的结尾
Nach dem Login kopieren

Teilstring des Strings

string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串

void swap(string &s2);    //交换当前字符串与s2的值
Nach dem Login kopieren

Suche des Strings

rfind () ist find() sehr ähnlich. Es sucht auch nach Teilzeichenfolgen in einer Zeichenfolge. Der Unterschied besteht darin, dass die Funktion find() beim zweiten Parameter beginnt und rückwärts sucht, während die Funktion rfind() bis zum zweiten Parameter sucht. Wenn der Teilstring am Parameter nicht durch den durch den zweiten Parameter angegebenen Index gefunden wurde, wird ein unendlicher Wert 4294967295

int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置int find(const char *s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置int find(const char *s, int pos, int n) const;//从pos开始查找字符串s中前n个字符在当前串中的位置int find(const string &s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置int rfind(char c, int pos = npos) const;//从pos开始从后向前查找字符c在当前串中的位置int rfind(const char *s, int pos = npos) const;int rfind(const char *s, int pos, int n = npos) const;int rfind(const string &s,int pos = npos) const;//从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值
Nach dem Login kopieren

Einfügefunktion der String-Klasse zurückgegeben:

string &insert(int p0, const char *s);string &insert(int p0, const char *s, int n);string &insert(int p0,const string &s);string &insert(int p0,const string &s, int pos, int n);//前4个函数在p0位置插入字符串s中pos开始的前n个字符string &insert(int p0, int n, char c);//此函数在p0处插入n个字符citerator insert(iterator it, char c);//在it处插入字符c,返回插入后迭代器的位置void insert(iterator it, const_iterator first, const_iterator last);//在it处插入[first,last)之间的字符void insert(iterator it, int n, char c);//在it处插入n个字符c
Nach dem Login kopieren
Über C++ Today Ich werde über die Grundlagen der Verwendung von String-Klassenobjekten sprechen.

Verwandte Empfehlungen:


Eine Zusammenfassung der Verwendung der String-Klasse in Standard-C++

Eine Zusammenfassung der Referenzen in c++

Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung von String-Objekten in C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
c++
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage