发布网友
共2个回答
热心网友
其实可以,不过在你假设的前提下就不行……
首先:
char *p="oxfe ...."
没有为指针p分配空间所以无法往里面进行储存字符
其次:
a[0]="oxfe"其实是可以实现,但是一定要用string这个类来实现,因为只有string可以一个变量就代表一串字符,按照你的构想,具体实现如下:
#include<string>
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char p[20]="oxfe oxf2 ox09";
string c[20];
int psize=strlen(p);
int n=0; //用以计数到底有多少个空格分开的字符串
int begin=0;
int end=0;
for(;end<=psize;)
{
if(p[end]==' ' || end==psize)
{
for(int i=begin;i<end;++i)
c[n].append(1,p[i]);
++n;
begin=end+1;
++end;
}
else ++end;
}
for(int i=0;i<n;++i)
cout<<c[i]<<endl;
}追问回答得很好,非常感谢!但是MFC中貌似只能用CString,而CString不能用append啊,还有其它方法实现字符的拼接吗?
加了using namespace std;就好了,不好意思。
追答没事没事
热心网友
#include<string>
string s(p);
string a[]=s.split(" ");
应该够了