STL记录
字符串相关
-
sscanf(log.c_str(), "%d:%[^:]:%d", &idx, type, &time);//string.c_str():将string转成一个字符串指针,%[a-z]:表示尽可能多的匹配a-z中的任意字符, %[^a-z]:表示匹配到a-z中的任意字符停止匹配。a-z可以替换成任意字符:a-z1-9
-
isalnum(char ):判断字符是否为字母或者数字,返回0/1
-
tolower(char ):将大写字母转换成小写字母,其余字符不做改变,返回小写字母或原字符
-
stringstream:字符串流 cpp手册
stringstream sstream;
string s;
// 将多个字符串放入 sstream 中
sstream << "first" << " " << "string,";
sstream << " second string";
cout << "strResult is: " << sstream.str() << endl;// "first string, second string"
sstream >> s;
cout << s << endl;// "first" -
find_first_of:cpp手册
include
include
include
include <string_view>
int main() {
using namespace std::string_literals;
std::string::size_type sz;// (1)
sz = "alignas"s.find_first_of("klmn"s);
// └────────────────────────┘
assert(sz == 1);
sz = "alignof"s.find_first_of("wxyz"s);
//
assert(sz == std::string::npos);// (2)
const char* buf = "xyzabc";
sz = "consteval"s.find_first_of(buf, 0, 3);//0是buf的检索起点,3是buf的检索终点
//
assert(sz == std::string::npos);
sz = "consteval"s.find_first_of(buf, 3, 6);//3是buf的检索起点,6是buf的检索终点
// └─────────────────────────┘c in buf
assert(sz == 0);// (3)
sz = "decltype"s.find_first_of(buf);
// └──────────────────────┘c in buf
assert(sz == 2);// (4)
sz = "co_await"s.find_first_of('a');
// └──────────────────────┘
assert(sz == 3);// (5)
std::string_view sv{"int"};
sz = "constinit"s.find_first_of(sv);
// └───────────────────────┘n in sv
assert(sz == 2);std::cout << "All tests passed.\n";
} -
find_first_not_of:找到“不是”的字符,用法类似上
-
find_last_of:找到“最后是”的字符,用法类似上
-
find_last_not_of:找到“最后不是”的字符,用法类似上
STL容器
- vector.emplace_back():直接在 vector 尾部创建这个元素,省去了移动或者拷贝元素的过程。

浙公网安备 33010602011771号