Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung der Verwendung der String-Klasse in C_Javascript-Kenntnissen

Zusammenfassung der Verwendung der String-Klasse in C_Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 15:46:411043Durchsuche

Ich glaube, Freunde, die MFC-Programmierung verwendet haben, sollten von der CString-Klasse sehr beeindruckt sein, oder? Tatsächlich ist die CString-Klasse in MFC wirklich praktisch und einfach zu verwenden. Aber wenn wir das MFC-Framework verlassen, gibt es Klassen, die sehr praktisch zu verwenden sind? Die Antwort ist ja. Einige Leute sagen vielleicht, dass Sie auch dann Möglichkeiten finden können, die API in MFC zu verwenden, wenn Sie das MFC-Framework nicht verwenden. Die spezifischen Betriebsmethoden werden am Ende dieses Artikels angegeben. Tatsächlich ignorieren viele Leute möglicherweise die Verwendung der String-Klasse in Standard-C. Die in Standard-C bereitgestellte String-Klassenfunktion ist ebenfalls sehr leistungsfähig und kann im Allgemeinen bei der Entwicklung von Projekten verwendet werden. Nun werde ich einige der spezifischen Verwendungen wie folgt auflisten, nur um als Ausgangspunkt zu dienen. Okay, hören Sie auf, Unsinn zu reden, und kommen Sie zur Sache!

Um die String-Klasse in Standard-C zu verwenden, müssen Sie

einschließen

#include 98c455a79ddfebb79781bff588e7b37e// Beachten Sie, dass es 98c455a79ddfebb79781bff588e7b37e ist, nicht bbed3fed50f96ac7490cfc6a498c4bc5. Die Datei mit .h ist die Header-Datei in der C-Sprache

mit std::string;

mit std::wstring;

oder

unter Verwendung des Namespace std;

Jetzt können Sie string/wstring verwenden, die jeweils char und wchar_t entsprechen.

Die Verwendung von string und wstring ist die gleiche, im Folgenden wird nur string für die Einführung verwendet:

Konstruktor der String-Klasse:

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

Darüber hinaus unterstützt die String-Klasse auch Standardkonstruktoren und Kopierkonstruktoren, z. B. string s1; string s2="hello"; Eine length_error-Ausnahme wird ausgelöst, wenn die konstruierte Zeichenfolge zu lang ist, um ausgedrückt zu werden

Zeichenoperationen der String-Klasse:

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

Merkmale Beschreibung der Zeichenfolge:

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

Zuordnung der Zeichenfolge:

Code kopieren Der Code lautet wie folgt:
string &operator=(const string &s);//Konvertieren string s Der aktuellen Zeichenfolge zuweisen
string &assign(const char *s);//Wert mit c-Typ string s
zuweisen string &assign(const char *s,int n);//Weisen Sie n Zeichen beginnend mit c string s
zu string &assign(const string &s);//String s dem aktuellen String zuweisen
string &assign(int n,char c);//Weisen Sie der aktuellen Zeichenfolge
n Zeichen c zu string &assign(const string &s,int start,int n);//Weisen Sie der aktuellen Zeichenfolge
n Zeichen ab Anfang in Zeichenfolge s zu string &assign(const_iterator first, const_itertor last);//Weisen Sie den Teil zwischen dem ersten und letzten Iterator der Zeichenfolge
zu

String-Verbindung:

Code kopieren Der Code lautet wie folgt:
string &operator =(const string &s);//put string s Mit dem Ende der aktuellen Zeichenfolge verketten
string &append(const char *s); //String s vom Typ c mit dem Ende des aktuellen Strings verketten
string &append(const char *s,int n);//Verbinde die ersten n Zeichen von c-Typ-String s mit dem Ende des aktuellen Strings
string &append(const string &s); //Gleich wie Operator =()
string &append(const string &s,int pos,int n);//Verbinde n Zeichen beginnend mit pos in String s bis zum Ende des aktuellen Strings
string &append(int n,char c); // n Zeichen c
am Ende der aktuellen Zeichenfolge hinzufügen string &append(const_iterator first, const_iterator last);//Verbinde den Teil zwischen dem ersten und dem letzten Iterator mit dem Ende der aktuellen Zeichenfolge

Vergleich der Saiten:

Code kopieren Der Code lautet wie folgt:
bool-Operator==(const string &s1,const string &s2 )const; //Vergleiche zwei Strings, um zu sehen, ob sie gleich sind
Die Operatoren „>“, „b265b3e077b813f2cb9b68904e7192b9=", „f14855eec529799aa68ab4b0c7d39ade, -1, wenn d36026165fa0c588d8c764f6510ddc0a头文件中
例如:
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类逊色多少,呵呵,个人意见!

Stellungnahme:
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