本文介绍了如何将字符串标记重复到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数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!