在CString里面读出多个浮点数。

jandy123 2007-10-04 10:40:31
在一个CString里面有N个数字,问如何读出到double point[1000]里面。
如果用sscanf就老是读出第一个数字。。。是要全部读出的。
...全文
39 点赞 收藏 5
写回复
5 条回复
jandy123 2007年10月05日
说错了。。是回车。。
如1.0
2.0
3.0
4.0...
回复 点赞
jandy123 2007年10月05日
每个数字是以空格间隔。如:1.0 2.0 3.0 4.0....
回复 点赞
jandy123 2007年10月05日
发现用指针移动就行了。。谢了。
回复 点赞
oldmanzhao 2007年10月05日
double GetNumber(CString strNumber/*原始数据,假设以strSplit分割开,并以其结束*/, CString strSplit, int *pos /*初调用时初始值设为0即可*/ )
{

TCHAR szNumber[20];
int end ;
CString strTemp = strNumber;
strTemp.Delete(0,*pos);
end = strTemp.Find(strSplit);

_tcsncpy(szNumber, strNumber.GetBuffer()+*pos,end -1);
*pos =*pos + end +1;
return _tstoi(szNumber);


}

void CallForNumber()
{//调用过程
int pos = 0;
double point;
CString strNumber;
strNumber.Format(_T("%f*%f*%f*"),2343.2,431.2,431.3);
while (pos != strNumber.GetLength())
{
//每次循环从strNumber中取出一个数值,依次取完
point = GetNumber(strNumber,_T("*"),&pos);
}
}
回复 点赞
vocanicy 2007年10月04日
你不把CString中的数字格式贴出来怎么帮你?

你的数字之间是怎么间隔的?
回复 点赞
发动态
发帖子
VC/MFC
创建于2007-09-28

7898

社区成员

42.1w+

社区内容

VC/MFC相关问题讨论
社区公告
暂无公告