永发信息网

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各
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-12-28 06:47
你好! a[i] = str[i] - '0'; 仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯