在使用C++写算法题时,通常我们需要对字符串进行切割,但是string的默认头文件中,却并没有像其他语言一样提供split函数,因此需要我们自己实现一个
文中使用的函数
- istringstream——将字符串转换成流
- getline——循环获取
void stringSplit(string str , const char splitor, set& result ){ istringstream iss(str); string token; while(getline(iss, token, split)){ cout << token; // int x = stringTOint(token); // result.insert(x); } }
- str:需要切割的字符串
- splitor:对应的切割字符
- 第三个参数为可选参数(通常会使用vector &将分割后的字符,带出来)
-
这里是因为,我需要对字符进行去重处理,所以就使用了set
首先通过istringstream 将欲切割的字符串转换成流
token为对应切割的临时变量
通过while不断循环,一直获取通过splitor切割出来的token
因为这里我的字符串都是int类型的,所以就直接在内部进行转换了



