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位十六进制所代表的任意字符 二位十六进制
posted @   HachikoT  阅读(195)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示