Possible Duplicate:
Using strtok with a std::string错误:从 '为const char *' 的无效转换到 '字符*'
#include<iostream>
#include <string>
#include <string.h>
using namespace std;
int main()
{
string s("hello hi here whola");
string background;
char *strval;
char* tok = strtok_r(s.c_str()," ",&strval);
while(tok !=NULL)
{
cout << tok <<"\n";
if (tok == "&")
background = tok;
else
{
statements1;
statement2.. ;
}
tok = strtok_r(NULL, " ",&strval);
}
return 0;
}
输出:
new.cpp: In function ‘int main()’:
new.cpp:13:47: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
/usr/include/string.h:359:14: error: initializing argument 1 of ‘char* strtok_r(char*, const char*, char**)’ [-fpermissive]
你为什么要标记这个C?你的印象是C和C++是相同的语言吗? –
这真的很可怕。先选择一种语言,我推荐C++。 – Andro
为什么人们在使用不同的语言时将其标记为c和C++? –