首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

:CString类型的数据转化为int型数据遇到有关问题!

2014-07-08 
求助各位高手:CString类型的数据转化为int型数据遇到问题!急!!!CStringstr= "300,400,600,500,700 ";intl[

求助各位高手:CString类型的数据转化为int型数据遇到问题!急!!!
CString   str= "300,400,600,500,700 ";
int   l[5];
我现在想把str中的数据存放到int型数组l[5]中,即l[0]=300;l[1]=400;l[2]=600;l[3]=500;l[4]=700,应该怎样实现?求各位高手帮帮忙!

[解决办法]
试试微软提供的函数:
AfxExtractSubString()
CString str = "300,400,600,500,700 ";
CString strValue;
CString strTemp;
int nCount;
int l[5];
nCount = str.GetLength();
for(int nNo = 0; nNo < nCount ;nNo ++)
{
AfxExtractSubString(strValue,str,nNo, ', ');
strTemp = strValue; // 拆分
atoi(l[nNo],strTemp,10); // 转换,我有点记不清了
}

你试试吧,应该是这样的,

[解决办法]
CString str= "300 400 600 500 700 ";//
int l[5];
char aa[256];
strcpy(aa, str);
sscanf(aa, "%d %d %d %d %d ", &l[0],&l[1],&l[2],&l[3],&l[4]);//
TRACE( "%d %d %d %d %d " , l[0] , l[1] , l[2] , l[3] , l[4]);
注意sscanf中输入形式与你str中的形式相同就可以了
比如,先前你的str中数字与数字中间是逗号,所以sscanf中的%d 与%d 之间也是逗号,现在是空格

热点排行