字符串操作

————ostrstream & istrstream类流
ostrstream实现将一个二进制数转换成串的字符存于字符数组对象中
istrstream流可以实现将一个字符串的数字字符转换成二进制形式存入在某种类型的对象中。 istrstream流为流对象提供了两种构造函数,它们的原型分别是: 
1.istrstream ::istrsteam(char *s)
2.istrstream ::istrstream(char *s, int n)
例:char buffer1[100] = "10 10.1";
      char buffer1[100] = "10.1";
      double m, n ;
      int i;
      istrstream str(buffer1);
      str >> i >> m;
      istrstream str(buffer2,2);
      str >> n;
==> i = 10, m = 10.1, n = 10 

———— string.c_str()
const char * string.c_str()返回字符串指针,指向当前字符串中的首字符地址,其内容与本string相同;主要用于字符串类型的匹配。

———— string.find() & rfind()
原型:
(1)size_t find (const string& str, size_t pos = 0) const;  //查找对象--string类对象
(2)size_t find (const char* s, size_t pos = 0) const; //查找对象--字符串
(3)size_t find (const char* s, size_t pos, size_t n) const;  //查找对象--字符串的前n个字符
(4)size_t find (char c, size_t pos = 0) const;  //查找对象--字符
结果:找到,返回第一个字符的索引;否则,返回string::npos。

rfind()是从反向查找。

例:string str = "hai/lou";
size_t split = str.rfind("/");
string first = str.substr(0,split); //first = "hai"

————size_t

size_t(size type)是一种“整型”类型,里面保存一个整数,就像int, long那样,可以加减乘除,可转化为int并赋值给int类型的变量。这种整数用来记录一个大小(size),就是说“一种用来记录大小的数据类型”。

sizeof(XXX)返回size_t类型, 如size_of = sizeof("adfa")。
原文地址:https://www.cnblogs.com/tina-ma/p/3751578.html