本文介绍了如何将字符串标记重复到char * / char数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这里我试图复制字符串tocken到char指针如下:

Here I am trying to copy string tocken to char pointer as below:

#include <iostream>
#include <cstring>
#include <string>
#include <boost/tokenizer.hpp>

using namespace std;
using namespace boost;
int main(int, char**)
{
    string text = "token test string";
    char *word;
    char_separator<char> sep(" ");
    tokenizer<char_separator<char>> tokens(text, sep);
    int i=0;
    for (const auto& t : tokens) {
        cout << t << "." << endl;
        word[i] =(const char *)strdup(t); // Error
        i++;    } }

错误是: test.cpp:18:40:不能将'const std :: basic_string< char>'转换为'const char *'为参数'1'到'char * strdup(const char *)

推荐答案

直接在这里传递字词:

std::ostringstream bfr;
    word = strtok(& text[0]," ");
        while (word!= NULL) {
                printf("\n Word %s \n",word);
            bfr << word << " ";
            word = strtok(NULL, " ");
            j++;
            }

这篇关于如何将字符串标记重复到char * / char数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 09:32