vc++ 中CString类型str=123456,要将string转为int型数组a[]={1,2,3,4,5}怎么做。
答案:2 悬赏:40 手机版
解决时间 2021-12-28 18:39
- 提问者网友:眉目添风霜
- 2021-12-28 04:44
vc++ 中CString类型str=123456,要将string转为int型数组a[]={1,2,3,4,5}怎么做。
最佳答案
- 五星知识达人网友:山有枢
- 2021-12-28 05:44
不能直接转的,你得先按字符串的长度分配空间,使用完这个数组后还要记得释放空间。
代码如下:
CString str = TEXT("123456");
int length = str.GetLength();
int *pArray = new int[length];
for(int i=0;i<length;++i)
pArray[i]=str[i]-TEXT('0');
//使用pArray,有效元素数为length各
delete []pArray;
当然你也可以为pArray事先申请一个确定足够用的空间(不管字符串多长,数组的长度确定不会小于该字符串的长度),那样就用不着new和delete了,例如:
int pArray[1024];
CString str = TEXT("123456");
int length = str.GetLength();
for(int i=0;i<length;++i)
pArray[i]=str[i]-TEXT('0');
//使用pArray,有效元素数为length各
代码如下:
CString str = TEXT("123456");
int length = str.GetLength();
int *pArray = new int[length];
for(int i=0;i<length;++i)
pArray[i]=str[i]-TEXT('0');
//使用pArray,有效元素数为length各
delete []pArray;
当然你也可以为pArray事先申请一个确定足够用的空间(不管字符串多长,数组的长度确定不会小于该字符串的长度),那样就用不着new和delete了,例如:
int pArray[1024];
CString str = TEXT("123456");
int length = str.GetLength();
for(int i=0;i<length;++i)
pArray[i]=str[i]-TEXT('0');
//使用pArray,有效元素数为length各
全部回答
- 1楼网友:怀裏藏嬌
- 2021-12-28 06:47
你好!
a[i] = str[i] - '0';
仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯