C++字符串操作小结

忽略大小写比较大小

  • 库函数strcasecmp和_stricmp:
    这两个函数都不属于C++标准库,strcasecmp由POSIX引入,windows平台则定义了功能等价的_stricmp。用法和C++标准库的strcmp类似。

    #include <cstring>
    
    #if defined(_WIN32)
    #define strcasecmp _stricmp
    #endif
    
  • boost函数iequals:

    #include <boost/algorithm/string.hpp>
    
    int main(int argc, const char *argv[]) {
        bool equal = boost::iequals("ABC", "abc");
        return 0;
    }
    

在gcc -O2的条件下,发现iequals比strcasecmp慢了很多。

读取一整行

istream& getline (istream& is, string& str, char delim);
istream& getline (istream& is, string& str);

std::string类提供了读取一整行的接口,从标准输入读取时,可以用getline(std::cin, str)来读取整行数据。

转义字符

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
|代表一个反斜线字符''' 092
' 代表一个单引号(撇号)字符 039
" 代表一个双引号字符 034
? 代表一个问号 063
\0 空字符(NULL) 039
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\xhh 1到2位十六进制所代表的任意字符 二位十六进制

原文链接: https://www.cnblogs.com/HachikoT/p/12561204.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++字符串操作小结

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/337295

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午11:05
下一篇 2023年3月1日 下午11:05

相关推荐