我试图将Java脚本的str.split(delimiter)函数重新创建为C ++,但我不知道如何解决此问题

时间:2019-04-21 16:21:23

标签: c++

我使用javascript进行了一些工作,因此决定开发一个类似于str.split()的函数,但是使用C ++。我编写的下一个代码向我显示此错误:

  

没有重载函数“ std :: vector <_Ty,_Alloc> :: push_back [with _Ty = char,_Alloc = std :: allocator]”的实例与参数列表匹配-参数类型为:(char *)- -对象类型为:std :: vector>

#include <iostream>
#include <cstring>
#include <vector>

using namespace std;

vector<char> split(char str[], char spliter[]){
    unsigned i=0;
    vector <char> output;
    char *p = strtok(str, spliter);
    do{
        output.push_back(p);
        p = strtok(NULL, spliter);
    }while(p != NULL);
    return output;
}

int main()
{
    char s[51];
    strcpy(s, "I have a cake");
    split(s, " ");
}

0 个答案:

没有答案