请问怎么将CEdit中输入的字符串分离,并将其转化为int? 例如我在CEdit输入序号:7 9 12,每个序号用空格隔开,然后读取数组中相应序号的值,该如何做?望高手指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 GetWindowText();strtok();atoi(); 输入的序号的数目知道不?知道的话就用sscanf来读。如3个数就:sscanf(stredit,"%d %d %d",&num1,&num2,&num3); char *strtok( char *strToken, const char *strDelimit ); CString strstr.GetWindowText(num)然后就是对str进行分词:strtok CStringArray arrTemp; CString strTemp; m_edit.GetWindowText(strTemp); char *ss=strTemp.GetBufferSetLength(strTemp.GetLength()); char *p; for ( p=strtok(ss, " "); p!=NULL; p=strtok(NULL, " ") ) { arrTemp.Add(p); }arrTemp[i] 为结果 在小三的基础上对每个arrTemp的值用atoi()转换一下 void spanText(char* pszText){ char* pTmpBuf = new char[strlen(pszText) + 1]; char* pTmpIndex = pTmpBuf; char* pIndex = pszText; while (*pIndex != '\0'){ while (((*pTmpIndex = *pIndex) != ' ') && ((*pTmpIndex = *pIndex) != '\0')){ pIndex ++; pTmpIndex ++; } *pTmpIndex = '\0'; int nTemp = atoi(pTmpBuf); pTmpIndex = pTmpBuf; cout << "Get integer value : " << nTemp << endl; while ((*pIndex == ' ') && (*pIndex != '\0')){ pIndex ++; } } delete[] pTmpBuf;} USB复合设备枚举不到问题,求解。。。。。 如何使Tab Control 标签上的文字显示为两行 初学驱动,学到一个函数,希望高手能帮忙解惑,听说标题要长。。。。。。。。。。。。。 提前祝大家五一快乐。vc 改变鼠标双击速度? CListBox类的列表如何实现实时的改变某项的颜色? C++可以做什么,大家的月薪多少(调查) 怎样设置才能进行组播? winnt workstation 4.0 怎么修改temp 目录 工具栏 随着框架的 变小会自动折行,可是 框架变大后不会自动顶上去,怎么弄啊 关于虚函数重载的问题 关于CComboBox 如何将外部文件添加到另一个工程????
strtok();
atoi();
知道的话就用sscanf来读。如3个数就:
sscanf(stredit,"%d %d %d",&num1,&num2,&num3);
char *strToken,
const char *strDelimit
);
str.GetWindowText(num)
然后就是对str进行分词:strtok
m_edit.GetWindowText(strTemp);
char *ss=strTemp.GetBufferSetLength(strTemp.GetLength()); char *p;
for ( p=strtok(ss, " "); p!=NULL; p=strtok(NULL, " ") ) { arrTemp.Add(p); }arrTemp[i] 为结果
对每个arrTemp的值用atoi()转换一下
void spanText(char* pszText)
{
char* pTmpBuf = new char[strlen(pszText) + 1];
char* pTmpIndex = pTmpBuf;
char* pIndex = pszText; while (*pIndex != '\0'){
while (((*pTmpIndex = *pIndex) != ' ') &&
((*pTmpIndex = *pIndex) != '\0')){
pIndex ++;
pTmpIndex ++;
}
*pTmpIndex = '\0'; int nTemp = atoi(pTmpBuf);
pTmpIndex = pTmpBuf;
cout << "Get integer value : " << nTemp << endl; while ((*pIndex == ' ') && (*pIndex != '\0')){
pIndex ++;
}
} delete[] pTmpBuf;
}