std::string::assign函数】的更多相关文章

string& assign (const string& str); string& assign (const string& str, size_t subpos, size_t sublen); string& assign (const char* s); string& assign (const char* s, size_t n); string& assign (size_t n, char c); /* std::string s…
string& insert (size_t pos, const string& str); string& insert (size_t pos, const string& str, size_t subpos, size_t sublen); string& insert (size_t pos, const char* s); string& insert (size_t pos, const char* s, size_t n); string&…
string& append (const string& str); string& append (const string& str, size_t subpos, size_t sublen); string& append (const char* s); string& append (const char* s, size_t n); string& append (size_t n, char c); /* std::string s…
string substr (size_t pos = 0, size_t len = npos) const;…
size_t copy (char* s, size_t len, size_t pos = 0) const;…
刚刚要找个按空格分离std::string的函数, 结果发现了stackoverflow上的这个问题. 也没仔细看, 直接拿来一试, 靠, 不对啊, 怎么分离后多出个空字符串, 也就是 "abc def" 分离后, 得到的是: "abc" "def" "" 这不科学! 老外在耍我么, 再看原来的回答下面已经有人commet了: while (iss) { string subs; iss >> subs; cout…
使用string中的assign赋值函数报错,代码为: text0.assign(line,i+); 其中text0与line都为string类型 最后发现assign函数的原型为 string &assign(const char *s,int n); 将代码改为以下即可 text0.assign(line.c_str(),i+); 附  assign函数 string &operator=(const string &s);//把字符串s赋给当前字符串 string &…
LPCWSTR是什么类型呢? 看看如何定义的: typedef const wchar_t* LPCWSTR; 顾名思义就是: LPCWSTR是一个指向unicode编码字符串的32位指针,所指向字符串是wchar型,而不是char型. 转换函数  直接可以使用 LPCWSTR stringToLPCWSTR(std::string orig){size_t origsize = orig.length() + 1;    const size_t newsize = 100;    size_…
场景: 1.  C语言有自己的sprintf函数,可是这个函数有个缺点,就是不知道须要创建多大的buffer, 这时候能够使用snprintf函数来计算大小,仅仅要參数 buffer为NULL, count为0就可以. 2.  这里实现std::string自己的sprintf也是用了snprintf的特性,先计算大小,再创建空间,之后存入std::string. 3.  还使用了C的可变參数特性. std::wstring Format(const wchar_t *format,...) {…
转载:http://www.cnblogs.com/little-sjq/p/9fed5450f45316cf35f4b1c17f2f6361.html C++ Primer 第07章 类 7.1.2 ​Sales_data类的定义如下: #ifndef SALES_DATA_H #define SALES_DATA_H #include <string> #include <iostream> class Sales_data { public: std::string isbn…
// 替换路径中所有“\”为“/” #include <algorithm> static std::string ConvertSlash(std::string& strUrl) { //size_t nLen = strlen(strPicTruePathBuff); //for (size_t i = 0 ; i < nLen; i++) //{ // if (strPicTruePathBuff[i] == '\\') // strPicTruePathBuff[i]…
众所周知,大部分情况下,操作一个自动(栈)变量的速度是比操作一个堆上的值的速度快的.然而,栈数组的大小是在编译时确定的(不要说 C99 的VLA,那货的 sizeof 是运行时计算的),但是堆数组的大小在运行时确定,很自由.此外,栈空间比堆空间有限,前者只有几MB,而后者基本上就是你系统内存的大小. 正因为这样,我们想组合两者的优势,既要享受堆空间的自由,又想要在数组较小的时候使用栈空间来加快速度,并且结合两者不会产生额外的开销,这时候,我们需要Short String Optimization…
目录 第1章说明    1 1.1 代码    1 1.2 使用    4 第1章说明 VC++中宽窄字符串的相互转换比较麻烦,借助std::string能大大减少代码量. 1.1 代码 函数声明如下: std::string stringA2W(const char* pA,int nA,UINT uCodePage = CP_ACP); std::string stringW2A(const wchar_t*pW,int nW,UINT uCodePage = CP_ACP); std::s…
std::string用法总结 在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询.在网上摘抄一下总结一下,为以后的查询方便: string类的构造函数: string(const char *s);    //用c字符串s初始化string(int n,char c);     //用n个字符c初始化 string类的字符操作: const char &operator[](int n)const; const char &at(int n)const; cha…
标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的.也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法.其实,可能很多人很可能会忽略掉标准C++中string类的使用.标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用…
说明:以下涉及的std::string的源代码摘自4.8.2版本.结论:std::string的拷贝复制是基于引用计数的浅拷贝,因此它们指向相同的数据地址. // std::string类定义typedef basic_string<char> string;template<typename _CharT, typename _Traits, typename _Alloc>class basic_string{private: // _Alloc_hider是模板类basic_…
标准c++中string类函数介绍   注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要.我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?).我们尽可以把它看成是C++的基本数据类型.     好了,进入正题……… 首先,为了在我们的程序中使用string类型,我们必须包含头文件…
1.             概念 Scott Meyers在<More Effective C++>中举了个例子,不知你是否还记得?在你还在上学的时候,你的父母要你不要看电视,而去复习功课,于是你把自己关在房间里,做出一副正在复习功课的样子,其实你在干着别的诸如给班上的某位女生写情书之类的事,而一旦你的父母出来在你房间要检查你是否在复习时,你才真正捡起课本看书.这就是“拖延战术”,直到你非要做的时候才去做. 当然,这种事情在现实生活中时往往会出事,但其在编程世界中摇身一变,就成为了最有用的技…
需要一个一个字符输入时考虑使用istreambuf_iterator 假设我们要把一个文本文件拷贝到一个字符串对象中.似乎可以用一种很有道理的方法完成: ifstream inputFile("d:\\test.plist"); string fileData((istream_iterator<char>(inputFile)), istream_iterator<char>()); //为什么它不是很正确看下文 //关于这个语法的警告,参见条款6 很快你就会…
标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的.也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法.其实,可能很多人很可能会忽略掉标准C++中string类的使用.标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用…
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化 string类的字符操作:const char &operator[](int n)const;const char &at(int n)const;char &operator[](int n);char &at(int n);operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检…
标准c++中string类函数介绍 注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要.我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?).我们尽可以把它看成是C++的基本数据类型. 好了,进入正题--- 首先,为了在我们的程序中使用string类型,我们必须包含头文件 <strin…
标准c++中string类函数介绍 注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要.我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?).我们尽可以把它看成是C++的基本数据类型. 好了,进入正题………首先,为了在我们的程序中使用string类型,我们必须包含头文件 <string>…
要想使用标准C++中string类,必须要包含 #include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件 using  std::string; using  std::wstring; 或 using namespace std; 下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t. string和wstring的用法是一样的,以下只用string作介绍: string类…
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要.我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?).我们尽可以把它看成是C++的基本数据类型. 标准模板库(STL)提供了一个std::string类,其是std::basic_string的一个特化,它是一个容器类,可把字符串当作普通类型来使用,并支持比…
今天遇到一个非常难以排查的BUG,谷歌度娘都问过了依旧无解,最后自己重新尝试之后找到解决方案: 先看一下报错信息: 1>.\lenz.cpp(2197)  error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion) 1> D:\Program Files\VC\inc…
在这篇博文里,我提到了一个例子,说的是使用C++实现类型安全的printf.这个例子很惊艳,但是在我写程序的时候,并非那么"迫切"地需要它出现在我的工具箱中,因为它并不比普通的printf方便,而且它没有出现的标准库中.所以自己也懒得整.相反,这个函数的兄弟,sprintf,倒是一个非常需要的函数.不仅仅是因为需要它类型安全,而是 sprintf 有比 printf 更多的麻烦: 首先它确实也不是类型安全的 使用sprintf之前,必须要先准备一段buffer,但这个buffer的大小…
一旦知道 TCHAR 和_T 是如何工作的,那么这个问题很简单.基本思想是 TCHAR 要么是char,要么是 wchar_t,这取决于_UNICODE 的值: // abridged from tchar.h #ifdef _UNICODE typedef wchar_t TCHAR; #define __T(x) L ## x #else typedef char TCHAR; #define __T(x) x #endif 当你在工程设置中选择 Unicode 字符集时,编译器会用 _UN…
关键字:std::string Unicode 转自:http://www.vckbase.com/document/viewdoc/?id=1293 一旦知道 TCHAR 和_T 是如何工作的,那么这个问题很简单.基本思想是 TCHAR 要么是char,要么是 wchar_t,这取决于_UNICODE 的值: 1: // abridged from tchar.h 2:  3: #ifdef _UNICODE 4:  5: typedef wchar_t TCHAR; 6:  7: #defi…
C++ string类的成员函数,用于拷贝.赋值操作,它们允许我们顺次地把一个string 对象的部分内容拷贝到另一个string 对象上. 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 st…