std::string str; // 空の文字列を生成
str.push_back('Z'); // 末尾に 'Z' を追加
str += '0'; // 末尾に '0' を追加
std::cout << str << "\\n";
std::string str("xyz");
str = "12" + str; // str の先頭に "12" を挿入と同じ
std::cout << str << "\\n";
std::string str("12345");
str.pop_back(); // 末尾文字(この場合は '5')を削除
std::cout << str << "\\n";
std::string str("01234");
str.erase(str.begin() + 2); // 3番目の要素('2')を削除
std::cout << str << "\\n";
std::string str("01234");
str.erase(str.begin() + 2, str.begin() + 4); // '2', '3' を削除
std::cout << str << "\\n";
区切り文字(delim)で分割するコード
// split
inline std::vector<std::string> split(const std::string str, const std::string delim) {
std::vector<std::string> out;
size_t start;
size_t end = 0;
while ((start = str.find_first_not_of(delim, end)) != std::string::npos) {
end = str.find(delim, start);
out.push_back(str.substr(start, end - start));
}
return out;
}
使用例
auto out = split("a/b/c","/");
/*
out.size() = 3
out[0]="a"
out[1]="b"
out[2]="c"
*/