Cookbook系列之Cpp:字符串与文本-创新互联

问题01:如何把含定界符的字符串分割成多个字符串

创新互联建站主营铁西网站建设的网络公司,主营网站建设方案,成都app开发,铁西h5小程序设计搭建,铁西网站营销推广欢迎铁西等地区企业咨询

   使用basic_string中的find成员函数依次找到每个定界符,然后使用substr函数把每个子字符串复制出来。

  1. #include                                                               
  2. #include                                                                 
  3. usingnamespace
  4. int
  5. "Name|Addr|Phone"
  6. char'|'
  7. while
  8. return

问题02:如何使用一组定界符把一个字符串分解成多个片段

   使用basic_string的find_first_of和find_first_not_of成员函数来列举字符串并交替地定位下一个特征符和非特征符。

  1. #include                                                               
  2. #include                                                                 
  3. usingnamespace
  4. int
  5. "Name:Addr;Phone"
  6. ":;"
  7. while
  8. return

问题03:如何在字符串中查找字符

   使用basic_string的find成员函数,几乎所有以单词"find"开始的函数。每一个函数都有一个basic_string::size_type参数pos,它用来让你能指明查找开始处的索引。函数返回值为basic_string::size_type,如果查找成功,返回值即为目标索引,如果查找失败,返回值为basic_string::npos。

  1. find(); 

问题04:如何字符串中查找字符串

   你可以使用定义在中的search算法。

问题05:如何比较两个字符串是否相同

   你可以使用定义在中的equal算法。

问题06:如何统计文本文件中不同类型字符的数目

   使用输入流读字符,一次一个,随着你读到的字符,增加相应的统计。判断函数可以使用中定义的字符判断函数。

  1. isalpha(); 
  1. #include                                                               
  2. #include                                                                    
  3. #include                                                                
  4. #include                                                                 
  5. #include                                                                 
  6. usingnamespace
  7. int
  8. "sample.txt"
  9. int
  10. char
  11. while
  12. if
  13. "alpha"
  14. elseif
  15. "digit"
  16. elseif
  17. "punct"
  18. else
  19. "other"
  20. int
  21. for
  22. " : "
  23. return

 问题07:如何使你的文本右对齐或左对齐

   使用流和标准流的格式标志右和左,他们都是定义在中ios_base的一部分。ios_base类模板中有很多标志可以用来格式化从流读进来的和写入流的数字和文本数据。控制文本对齐的是right和left。它们都是ios_base中的静态成员,都是fmtflags类型。可以使用ios_base::sef来设置格式标志。

  1. out.setf(std::ios_base::right); 

   但是右对齐如果没有设置右边页面的空白宽度的话就没有意义。为了设置这个宽度,可以使用ios_base::width。

  1. out.width(w); 

   当你用完你设置的格式标志时,你应该做的是清理掉它们。否则,这些标志将影响以后使用流的用户。

  1. ios_base::fmtflags flags = 
  2.      out.setf(ios_base::left); // setf returns the flags that were already there
  3.  
  4. // reset to old flags

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:Cookbook系列之Cpp:字符串与文本-创新互联
链接分享:http://myzitong.com/article/cdopdp.html