C++ 各种函数使用 ¶
约 286 个字 28 行代码 预计阅读时间 1 分钟
Abstract
这里归档一些 C++ 函数的使用和扩展等
std::string¶
std::string::substr¶
返回一个新建的 初始化为 string 对象的子串的拷贝 string 对象。子串是,在字符位置 pos 开始,跨越 len 个字符(或直到字符串的结尾,以先到者为准)对象的部分。
应用
// string::substr
#include <iostream>
#include <string>
int main () {
std::string str="We think in generalities, but we live in details.";
// (quoting Alfred N. Whitehead)
std::string str2 = str.substr (3,5); // "think"
std::size_t pos = str.find("live"); // position of "live" in str
std::string str3 = str.substr (pos); // get from "live" to the end
std::cout << str2 << ' ' << str3 << '\n';
return 0;
}
std::string::find¶
size_t find (const string& str, size_t pos = 0) const noexcept;
size_t find (const char* s, size_t pos = 0) const;
size_t find (const char* s, size_t pos, size_type n) const;
size_t find (char c, size_t pos = 0) const noexcept;
返回值类型是std::string::size_type (size_t)
, 对应的是查找对象在字符串中的位置(从 0 开始std::string::npos
进行对比。
建议使用size_type
,这样可以适应不同的平台。因为int
类型的大小会根据不同平台而不同。
应用
扩展
s.find(t)
第一次出现的位置s.rfind(t)
最后一次出现的位置s.find_first_of(t)
任何一个字符第一次出现的位置s.find_last_of(t)
任何一个字符最后一次出现的位置s.find_first_not_of(t)
第一个不在 t 中的字符所在位置s.find_last_not_of(t)
最后一个不在 t 中的字符所在位置
最后更新:
2023年9月6日 10:51:03
创建日期: 2023年9月6日 10:51:03
创建日期: 2023年9月6日 10:51:03