忽略大小写比较大小
-
库函数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 |
退格(BS) ,将当前位置移到前一列 | 008 | |
f | 换页(FF),将当前位置移到下页开头 | 012 |
换行(LF) ,将当前位置移到下一行开头 | 010 | |
回车(CR) ,将当前位置移到本行开头 | 013 | |
水平制表(HT) (跳到下一个TAB位置) | 009 | |
v | 垂直制表(VT) | 011 |
代表一个反斜线字符''' | 092 | |
' | 代表一个单引号(撇号)字符 | 039 |
" | 代表一个双引号字符 | 034 |
? | 代表一个问号 | 063 |