void str(char * a)
{
char *toks = " ";
char * tok = strtok(a, toks);
while (tok)
{
if (tok == a)
strcpy(a, tok);
else
strcat(a, tok);
tok = strtok(NULL, toks);
}
}
int main()
{
string b = "this is a dog";
str(const_cast<char*>(b.c_str()));
cout<<b;
return 0;
}
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char sentence[]="This is a test with strtok";
char *tokenPtr=strtok(sentence," ");
while(tokenPtr!=NULL)
{
cout<<tokenPtr;
tokenPtr=strtok(NULL," ");
}
getchar();
return 0;
}
#include <iostream>
#include <string>
using namespace std;
void Delete(char * a)
{
char * tok = strtok(a, " ");
while (tok!=NULL)
{
if (tok == a)
strcpy(a, tok);
else
strcat(a, tok);
tok = strtok(NULL, " ");
}
}
int main()
{
char sentence[]="This is a test with strtok";
Delete(sentence);
cout<<sentence;
getchar();
return 0;
}
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
string DelNull(string str)
{
char *buf=const_cast<char*>(str.c_str());
char *token;
string strData;
while ((token = strsep(&buf, " ")) != NULL)
strData += token;
return strData;
}
int main(void)
{
string str = " root x艾迪 0 root /root /bin/bash ";
cout<<DelNull(str);
return 0;
}
扩展内容:
http://www.cnblogs.com/longzhao1234/archive/2012/05/31/2528317.html