string.vector 互转 string 转 vector vector  vcBuf;string        stBuf("Hello DaMao!!!");----------------------------------------------vcBuf.resize(stBuf.size());vcBuf.assign(stBuf.begin(), stBuf.end()); vector 转 string  stBuf.clear();stBuf.assign(v…
非常久没有写关于string的博客了.由于写的差点儿相同了.可是近期又与string打交道,于是荷尔蒙上脑,小蝌蚪躁动. 在程序中,假设用到了颜色代码,一般都是十六进制的,即hex. 可是server给你返回一个颜色字符串.即hex string 你怎么把这个hex string 转为 hex,并在你的代码中使用? 更进一步,你怎么办把一个形如"#ffceed"的hex string 转为 RGB呢? 第一个问题在Java中是这样搞的: public static int parseC…
今天继续写一些string操作. string给我们提供了非常多的方法,可是每在使用的时候,就要费些周折. 场景1: 得到一个std::string full_path = "D:\program files\csdn".可是我想得到"D:\program files\vagaa"这个路径. 这就须要字符串的替换 std::string full_path = "D:\\program files\\csdn" const size_t last…
在project中,我们也有非常多时候用到string与char*之间的转换,这里有个一我们之前提到的函数 c_str(),看看这个原型: const char *c_str(); c_str()函数返回一个指向正规C字符串的指针, 内容与本string串同样. 这就看到了吧,返回值是const char*,这里须要注意一下. 1 string转const char* 当然是用到上面所述的方法c_str(): string s1 = "abcdeg"; const char *k =…
參考链接: http://www.cppblog.com/qinqing1984/archive/2009/08/07/92479.html 百度百科第一次这么给力: void *memset(void *s, int ch, size_t n); 函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s . memset:作用是在一段内存块中填充某个给定的值.它是对较大的结构体或数组进行清零操作的一种最快方法. memset() 函数经常…
搞过MFC的人都知道cstring,给我们提供了非常多便利的方法. CString 是一种非常实用的数据类型. 它们非常大程度上简化了MFC中的很多操作,使得MFC在做字符串操作的时候方便了非常多.无论如何,使用CString有非常多特殊的技巧,特别是对于纯C背景下走出来的程序猿来说有点难以学习. 可是非常多情况下,我们还是须要cstring和string的转换. 分两步: 1把cstring转为char数组 2依据char数组,构造自己的string(记得释放内存) std::string C…
上一篇博客讲了好几种方法进行number到string的转换,这里再单独说一下float或是double到string的转换. 还是处于控件显示的原因.比方说要显示文件的大小,我们从server能够获得这个文件的总bytes.这样就须要我们依据实际情况是显示bytes.kb.mb等单位. 经常使用的做法就是把num_bytes/1024,这个时候往往会得到浮点型.浮点型转string也没问题,可是假设你须要保留这个浮点型的一位或是几位小数,怎么操作会方便快捷呢? 你进行了相关搜索.可是非常多人给…
使用所duilib的人定会知道cduistring类型,先看看这个类是怎么定义的: class UILIB_API CDuiString { public: enum { MAX_LOCAL_STRING_LEN = 127/*63*/ }; CDuiString(); CDuiString(const TCHAR ch); CDuiString(const CDuiString& src); CDuiString(LPCTSTR lpsz, int nLen = -1); ~CDuiStrin…
使用vector容器,即避免不了进行查找,所以今天就罗列一些stl的find算法应用于vector中. find() Returns an iterator to the first element in the range [first,last) that compares equal to val. If no such element is found, the function returns last. #include <iostream> // std::cout #inclu…
//将十六进制的字符串转换成NSString则可使用如下方式: + (NSString *)convertHexStrToString:(NSString *)str { if (!str || [str length] == 0) { return nil; } NSMutableData *hexData = [[NSMutableData alloc] initWithCapacity:8]; NSRange range; if ([str length] % 2 == 0) { rang…
Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases. Notes: It is intended for this problem to be spe…
说明: 在实际的应用过程中,有的时候可能会遇到字符串的10,需要将字符串的10转换为数字的10 在此记录下,通过int函数转换的过程. 操作过程: 1.将字符串转换为整型的10 >>> str1 = " #将一个字符串的10赋给变量str1 >>> type(str1) <class 'str'> #通过type函数查出来类型是str >>> int1 = int(str1) #通过int函数,转换为了int类型的10 >&…
Implement atoi which converts a string to an integer. The function first discards as many whitespace characters as necessary until the first non-whitespace character is found. Then, starting from this character, takes an optional initial plus or minu…
import java.util.*; import java.text.SimpleDateFormat; import org.json.JSONObject; import org.json.JSONArray; import org.json.JSONException; public class test_client { public static void test(){ //把json字符串转为json对象 String js ="{\"uniqueCode\"…
上一篇博客说道vector中放入struct.我们先构造一个struct对象.再push_back. 那段代码中,之所以不能使用emplace_back,就是由于我们定义的struct没有显示的构造函数. emplace和解? 放列的意思. 这次我们不把struct当做vector的元素了.我们把一个class当做vector的元素,写下代码: #include <iostream> #include <vector> #include<string> using na…
之前说过了关于vector的insert()方法,把vector B的元素插入到vector A中.vector A中的结果我们可想而知,可是vector B中的元素还会怎样? 看看之前写过的程序: #include <iostream> #include <vector> int main () { std::vector<int> myvector (3,100); std::vector<int>::iterator it; it = myvector…
stl算法中有个copy函数.我们能够轻松的写出这种代码: #include <iostream> #include <algorithm> #include <vector> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { double darray[10]={1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9}; vector<double> vdoubl…
stl的迭代器非常方便 用于各种算法. 可是一想到vector.我们总是把他当做数组,总喜欢使用下标索引,而不是迭代器. 这里有个问题就是怎样把迭代器转换为索引: #include <vector> typedef std::vector<char *> MYARRAY; // This does the trick inline const int iterator_to_index(MYARRAY &a, MYARRAY::iterator it) { return i…
vector或许是实际过程中使用最多的stl容器.看似简单,事实上有非常多技巧和陷阱. 着重看一看vector的构造,临时依照C++11: default (1) explicit vector (const allocator_type& alloc = allocator_type()); fill (2) explicit vector (size_type n); vector (size_type n, const value_type& val, const allocator…
之前一直没有使用过vector<struct>,如今就写一个简短的代码: #include <vector> #include <iostream> int main() { struct st { int a; }; std::vector<st> v; v.resize(4); for (std::vector<st>::size_type i = 0; i < v.size(); i++) { v.operator[](i).a =…
上篇将了对于struct或是class为何emplace_back要优越于push_back,可是另一些细节没有提及.今天就谈一谈emplace_back造成的引用失效. 直接撸代码了: #include <vector> #include <string> #include <iostream> using namespace std; int main() { vector<int> ivec; ivec.emplace_back(1); ivec.em…
关于vector已经写的差不多了,似乎要接近尾声了,从初始化到如何添加元素再到copy元素都有所涉及,是时候谈一谈内存的释放了. 是的,对于数据量很小的vector,完全没必要自己进行主动的释放,因为那样对程序的效率几乎没有影响.但是当vector中存入大量的数据后,并且都数据进行了一些操作,比如删除后,如果我们能积极主动的去释放内存,那么是非常明智的. 写到这里,应该明确了size和capacity的区别了. 现在介绍一个方法,std::vector::clear() Removes all…
C++11为我们提供了智能指针,给我们带来了非常多便利的地方. 那么假设把unique_ptr作为vector容器的元素呢? 形式如出一辙:vector<unique_ptr<int> > vec; 可是怎么给vec加入元素呢? 看以下: #include<iostream> #include<vector> #include <memory> using namespace std; int main() { vector<unique_…
遍历一个vector容器有非常多种方法.使用起来也是仁者见仁. 通过索引遍历: for (i = 0; i<v.size(); i++) { cout << v[i] << " "; } 迭代器遍历: for (vInt::const_iterator iter = v.begin(); iter != v.end();iter++) { cout << *iter << " "; } 算法遍历: copy(v.…
今天就写一写vector的一些异常.能够捕捉的异常. out_of_range 相当于数组的越界了.vector会自己主动增大容量,可是假设索引超出了当前的size.就会引发异常. #include<iostream> #include<vector> using namespace std; int main() { vector<int>v(4); std::cout << v[0] << std::endl; std::cout <&…
//"{0}-{1}-{2}".format("xx","yy","zz") //显示xx-yy-zz String.prototype.format = function() { var result=this; if (arguments.length == 0) return null; for ( var i = 0; i < arguments.length; i++) { var re = new RegEx…
java里不能这样表示二进制,只能是   8,10,16进制  8:         前置   0  10:      不需前置 16:      前置   0x   或者   0X double:2d float:2f 整型:2…
String to Integer (atoi) Implement atoi to convert a string to an integer. [函数说明]atoi() 函数会扫描 str 字符串,跳过前面的空白字符(例如空格,tab缩进等),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回. [返回值]返回转换后的整型数:如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0.如果超出Integer的范围,将会返回I…
说明: 在今天做int实现的过程中,官方函数的解释是将numeric转换为integer,就突然不明白,两个有啥区别. numeric-数字类型包括: int,float,bool,complex integer--整数,是numeric的一部分 实验: >>> a,b,c,d = 10,10.1,True,4+3j >>> int(a) 10 >>> int(b) 10 >>> int(c) 1 >>> int(d…
import java.io.*; import org.json.*; public class Demo { public static void main(String[] args) throws Exception { String str = "{\"a\":\"b\", \"c\":\"d\"}"; JSONObject a = new JSONObject(str); System.out.…