Maison > Article > interface Web > Résumé de l'utilisation de la classe de chaîne dans les compétences C_javascript
Je pense que les amis qui ont utilisé la programmation MFC devraient être très impressionnés par la classe CString, n'est-ce pas ? En effet, la classe CString dans MFC est vraiment pratique et simple à utiliser. Mais si l’on quitte le framework MFC, existe-t-il des classes très pratiques à utiliser ? La réponse est oui. Certaines personnes diront peut-être que même si vous n'utilisez pas le framework MFC, vous pouvez toujours trouver des moyens d'utiliser l'API dans MFC. Les méthodes de fonctionnement spécifiques sont indiquées à la fin de cet article. En fait, de nombreuses personnes peuvent ignorer l’utilisation de la classe string dans le standard C. La fonction de classe string fournie dans le standard C est également très puissante et peut généralement être utilisée lorsque l'on développe des projets. Je vais maintenant énumérer quelques-uns des usages spécifiques comme suit, juste pour servir de point de départ. Bon, arrêtez de dire des bêtises et allez droit au but !
Pour utiliser la classe string en standard C, vous devez inclure
#include 98c455a79ddfebb79781bff588e7b37e// Notez qu'il s'agit de 98c455a79ddfebb79781bff588e7b37e, pas de bbed3fed50f96ac7490cfc6a498c4bc5 Celui avec .h est le fichier d'en-tête en langage C
.en utilisant std::string;
en utilisant std::wstring;
ou
en utilisant l'espace de noms std ;
Vous pouvez maintenant utiliser string/wstring, qui correspondent respectivement à char et wchar_t.
L'utilisation de string et wstring est la même, seule la chaîne est utilisée pour l'introduction ci-dessous :
Constructeur de classe de chaînes :
string(const char *s); //用c字符串s初始化 string(int n,char c);//用n个字符c初始化
De plus, la classe string prend également en charge les constructeurs par défaut et les constructeurs de copie, tels que string s1; string s2="hello"; Une exception length_error sera levée lorsque la chaîne construite est trop longue pour être exprimée
;Opérations sur les caractères de la classe chaîne :
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为起始位置的字符数组中,返回实际拷贝的数目
Description des caractéristiques de la chaîne :
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'分开。
Affectation de la chaîne :
connexion par chaîne :
Comparaison des chaînes :
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类逊色多少,呵呵,个人意见!