关于MFC VC++中有一个GetDlgItemText函数的简单问题

我想用这个函数读取Editcontrol控件里面的字符串并转化成数组,请问应该怎么做呢?假设控件ID是IDC_EDIT,而且空间里面输入的数据长度并不知道CStrings... 我想用这个函数读取Editcontrol控件里面的字符串并转化成数组,请问应该怎么做呢?
假设控件ID是IDC_EDIT,而且空间里面输入的数据长度并不知道
CString str;
GetDlgItemText(IDC_EDIT)->GetWindowText(str);和GetDlgItemText(IDC_EDIT,str)这两个
写法有什么区别呢?如果输入的是“1,23,4,5,6”,他们的结果分别是什么呢?又该用什么办法写到
数组里面?
展开
 我来答
bhtzu
2014-12-29 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4158万
展开全部
  1. 两个写法没有本质区别,GetDlgItemText最终调用的就是GetWindowText

  2. 当CString获取了一个字符串“1,23,4,5,6”之后,你需要通过自己的代码拆分字符串再转换为int才能保存到数组里面,没有特别省事儿的办法。

拆分示例:

CString str = “1,23,4,5,6”;
CString str1 = str.Left(str.Find(","));
int a[6];
a[0] = _ttoi(str1);
追问
就是说这两个函数得到的结果都是一串字符串是吧
哦,这样的话先去找出到底有多少个逗号,推算出多少个数,再用一个循环,读取一个,用strright删掉一度去的数字,再读取一个,同时外面创建一个数组接受,大小可以用逗号数量推算,这样你看合理吗?
追答
大概就是这个意思,不过你不需要去数逗号,通过while循环,每次判断一下find是否找到了逗号,最后找不到了,就是最后一个了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式