不用 boost 库,最简单的方式, 怎么拿到 test123
test/test123
1
winterfell30 2018 年 8 月 8 日
str.substr(str.rfind('/'))?
|
2
MeteorCat 2018 年 8 月 8 日 via Android
........tinyhttp 在 http 解析的时候有针对字符串截断,参考下用\0 截断
|
3
agostop 2018 年 8 月 8 日
我想问下,现在做 C++开发的,是不是基本离不开 boost ?
|
4
changnet 2018 年 8 月 8 日 via Android
看具体需求,我很多时候都是 for 循环去找
|
5
wsds OP @winterfell30 有这么简单的方法 ?网上没查到过这个答案
|
6
singer 2018 年 8 月 8 日 via iPhone
STL 不行么?
|
7
glacer 2018 年 8 月 8 日
自己实现 split 函数不就行了么,循环过一遍而已
|
8
SPACELAN 2018 年 8 月 8 日
emmm,写 c++的,从来不用 boost
|
9
gnaggnoyil 2018 年 8 月 8 日 range-v3 就有现成的`ranges::view::split`.不过你确定你这不是个 X-Y 问题?我觉得你可能更需要`ranges::view::tokenize`
|
10
innoink 2018 年 8 月 8 日 via Android
你难道不去 cppreference.com 上看看 std::string 有哪些成员函数么?
|
11
byteli 2018 年 8 月 8 日 via Android
string 这么蛋疼的东西还是用成熟的好,比如 qstring
|
13
tangxiaoqiang123 2018 年 8 月 8 日
std::string split(char* str, const char* sep) {
std::stringstream o; char* s = strtok(str, sep); while (s != NULL) { o << s; s = strtok(NULL, sep); } return o.str(); } |
14
winterfell30 2018 年 8 月 8 日
@wsds 如果是像你举的那个例子这么简单这样就可以了,要完全实现 split 的功能还是自己写一个函数吧
|
15
hanminghui 2018 年 8 月 8 日
常备 cppreference,学到了
|
16
lolcat 2018 年 8 月 8 日
#include <string.h>
.... char *p=(strchr("test/test123",'/')+1); 这应该是最简单的方法了吧? |
17
dosmlp 2018 年 8 月 8 日
自己写一个分割函数就完了,多大点事还发个帖子
|
18
yanaraika 2018 年 8 月 8 日
range-v3 吧,header-only,比起 boost 小太多,无痛引入
|
19
agagega 2018 年 8 月 8 日
<algorithm> 里面的 find
|
20
agostop 2018 年 8 月 9 日
boost 是个可以让 C++变 java 的神奇之库吗?
|
21
v2qwsdcv 2018 年 8 月 9 日
|
22
araraloren 2018 年 8 月 9 日
~~ 推荐 strtok 的都是什么心态。。
|
23
mingl0280 2018 年 8 月 9 日
string s("test/test123");
int lastSlash = s.rfind('/'); if (lastSlash != s::npos) string t = s.substr(lastSlash+1); t 就是结果。 |
25
yazoox 2018 年 8 月 9 日
也挺好奇的,现在 c++都用什么库?
裸的 c++用起来,真的老费劲了...... |
26
dychenyi 2018 年 8 月 9 日
23 是最简单的写法。
|