如何处理这个问题,CString --> int[]

zyz2006 2006-05-26 10:54:21
小弟新人,分少
如何对付这样的CString,在Edit窗口里,定义了一个CString变量
23,34,56,78,89
等等,我提取了这些文字,不过
我有三个问题
1.如何跳过',',提取数字
2.如何验证其中这些为数字
3,如何将提取得数字从CString转化为int[]
大家讨论讨论,我对1,2两个问题大概有思路,但是第3个问题不知道怎么搞
还有可能会出现不全是两位数的情况
所以m_strEdit.GetAt(i)好像不太灵....
...全文
125 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyz2006 2006-05-27
  • 打赏
  • 举报
回复
谢谢各位
DarknessTM 2006-05-27
  • 打赏
  • 举报
回复
查看一下这个函数的说明

swscanf_s
mantian 2006-05-26
  • 打赏
  • 举报
回复
刚写了一个,还须改进。自己弄弄就成了
int bConvert(CString strSource,int * iArray)
{

CString strTemp = strSource;
CString strInteger;

int findsep = strTemp.Find(',');
if(findsep == -1)
{
return -1;
}
int i = 0;
while(findsep != -1)
{
strInteger = strTemp.Left(findsep);
strTemp = strTemp.Mid(findsep+1);

iArray[i] = atoi(strInteger);

findsep = strTemp.Find(',');
i++;
}

if( !strTemp.IsEmpty() )
{
iArray[i++] = atoi(strTemp);
}
return i;
}
测试:
CString strinteger = "11,22,33";
int iArray2[10];
int strlen = bConvert(strinteger,iArray2);
for(int i=0;i<strlen;i++)
{
cout<<iArray2[i]<<"\n";
}
折腾_苏州 2006-05-26
  • 打赏
  • 举报
回复
atoi是将字符串转换为整型(char[] to int)
zyz2006 2006-05-26
  • 打赏
  • 举报
回复
atoi是什么函数,作什么的?
a to int ????
折腾_苏州 2006-05-26
  • 打赏
  • 举报
回复
不好意思,atoi用法错误:(char ===> int )
m_strEdit.GetAt(i) ====> (int) (m_strEdit.GetAt(i) - '0')
折腾_苏州 2006-05-26
  • 打赏
  • 举报
回复
CString转化为int[],m_strEdit.GetAt(i)得到的是字符要转化成int==>
atoi(m_strEdit.GetAt(i))...1,2两个问题你有思路我就不说了^-^

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧