Heim > Artikel > Web-Frontend > Zusammenfassung der Verwendung der String-Klasse in C_Javascript-Kenntnissen
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:
String-Verbindung:
Vergleich der Saiten:
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类逊色多少,呵呵,个人意见!