忽略大小写比较大小
-
库函数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 |