当前位置:网站首页 > C++编程 > 正文

std::ifstream头文件(c++ ifstream头文件)



1.std::string

string 是C++中basic_string模板的char类型的实例,在Debian 7.0中,其定义包含在

  /usr/include/c++/4.7/bits/stringfwd.h

技术分享

basic_string模板类在/usr/include/c++/4.7/bits/basic_string.h中进行了定义

技术分享

string 类中并不存储字符串,而是包含一个指向字符串的指针

2.string初始化

  string s = "xxxx";       //C++98支持

  string s("xxxx");       //C++98支持

  string s(int n, char c);   //将s初始化为由n个字符c组成的字符串  C++98支持

  string s = {"xxxxx"};     //列表初始化,C++11新增, C++98不支持

  string s {"xxxxx"};      //列表初始化

更多见:http://www.cplusplus.com/reference/string/string/string/

Note:使用列表初始化化时,需在g++中指定标准类型 g++ -std=c++11      

2.string类常见的成员函数

容量相关函数:

  string::size

    size_t size() const noexcept;  // 以字节形式返回string对象字符串的字节数, size_t ---> unsigned int

  string::length

    size_t length() const noexcept;  //与string::size相同

  string::max_size

    size_t max_size() const noexcept; //返回string对象可以包含的最大字节数,该值因系统实现和限制而不同

  string::capacity

    size_t capacity() const noexcept;  //返回分配给string对象的大小,以字节为单位

  Note:capacity()函数的返回值并不一定等于leng()返回值,可能等于甚至大于length(),多余的空间被用来在添加新的字符时,防止重新分配内存空间,消耗时间,分配更多的空间,是为达到优化的目的

  string::reserve

    void reserve(size_t n = 0);    //预留的string对象容量大小

  Note:

    1)string对象的reverse可以将容量调整缩小,这与vector相反

    2)当请求的容量n 超过max_size()时,抛出length_err异常;当分配空间失败时,抛出bad_alloc异常

  string::resize

    void resize(size_t n);

    void resize(size_t n, char c);  //调整string的长度,而不是容量

  Note:

    1)当n < string.length()时,超过n的内容被删除

    2)当n >string.length()时,新增加的元素将以空字符填充到尾部;如果指定了填充字符c,则以字符c填充

      

  string::clear

    void clear() noexcept;      //清除string的内容

  string::empty

    bool empty() const noexcept;   //检测string对象是否为空

相关参考:

  http://www.cnblogs.com/chinazhangjie/archive/2010/08/19/1803042.html

迭代相关函数:

  string::begin

    iterator begin() noexcept;

    const_iterator begin() const noexcept; //返回一个指向string对象首字符的迭代器

  string::end

    iterator end() noexcept;

    const_iterator end() const noexcept;

  Note: 返回的迭代器可用于访问或者修改其指向的string对象中的内容

  string::rbegin

    reverse_iterator rbegin() noexcept;

    const_reverse_iterator rbegin() const noexcept;

  string::rend

    reverse_iterator rend() noexcept;

    const_reverse_iterator rend() const noexcept;

  //返回倒序的迭代器

元素访问相关函数:

  string::at

    char & at(size_t pos);

    const char & at(size_t pos) const; //返回string对象中pos位置的字符的引用

  string::back      //c++11

    char & back();

    const char & back() const;

  string::front    //c++11

    char & front();

    const char & front() const;

Note:  at用于访问指定位置的元素,同string[i]形式;

     back用于访问string最后一个元素;

     front用于访问string第一个元素

字符串操作相关函数:

  string::c_str()

    const char * c_str() const noexcept;

  string::data

    const char * data() const noexcept;    //data 与c_str()相同,均返回string对象存储字符串的地址

  其他:find, copy等

    

  

C++ String

到此这篇std::ifstream头文件(c++ ifstream头文件)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • hipc官网下载(hipaa官网)2025-02-07 11:18:09
  • can通讯接口带电源吗能用吗(can通讯接口带电源吗能用吗)2025-02-07 11:18:09
  • cmake多级目录(cmake多级目录编译)2025-02-07 11:18:09
  • console线(console线怎么接)2025-02-07 11:18:09
  • pointnet和pointnet++区别(point和pointed)2025-02-07 11:18:09
  • dhcp自动获取 dns(dhcp自动获取ip地址和宽带拨号上网)2025-02-07 11:18:09
  • consoling翻译(consolidation翻译中文)2025-02-07 11:18:09
  • cp900墨盒尺寸错误(cp910 墨盒尺寸错误)2025-02-07 11:18:09
  • msvcp140d.dll丢失(MSVCP140d.dll丢失下载)2025-02-07 11:18:09
  • MSVCP140.dll没有被指定在windows上运行(msvcp120.dll没有被指定在windows上运行)2025-02-07 11:18:09
  • 全屏图片