比如我有一个字符串"0 3594.125 3594.125 770.000" (中间有空格但不知道是几个) 我想分别把0、3594.125、3594.125、770.000进行atoi转换后存放到事先定义好的变量中,请问要怎么实现??
解决方案 »
- 一个基于MFC对话框程序怎么加载接口?//ATL的接口DLL
- 我想问一下,有人知道怎么管理网络端口吗?
- 要命呀,切分窗口初始尺寸无法控制,下午要交了.
- 服务器接受大量TCP连接的问题,请指教
- 怎么把ComboBox控件设置为只读?
- 能不能捕获某个窗口的图像,即使在这个窗口被其他窗口挡住的情况下?
- 如何编程恢复回收站中被删除的文件?
- 是不是用MFC创建Automation组件时只能实现单接口,我试图加入第二个接口后,不但在Class View里看不见所有接口,而且第二个接口也无法注
- 好多天没问题了——可一来就惨死了!(多线程的)
- 请教关于listctrl的问题
- vc 如何使用静态lib中的资源
- 资源可以移置吗?
#include <iostream>
#include <sstream>
#include <string>
using namespace std;int _tmain(int argc, _TCHAR* argv[])
{
string s("0 3594.125 3594.125 770.000");
stringstream ss;
ss<<s;
float a[4];
for(int i=0;i<4;i++)
{
ss>>a[i];
cout<<a[i]<<endl;
}
return 0;
}
CArray<int,int> res;
while (nIndex=strSource.Find(' ')>=0)
{
res.Add(atoi(strSource.Left(nIndex)));
strSource=strSource.Mid(nIndex+1);
strSource.Trim();
}res.Add(atoi(strSource));
C函数
char buffer[100];
int a,,b,c,d;
strcpy(buffer,"0 3594.125 3594.125 770.000");
sscanf(buffer,"%d%d%d%d",&a,&b,&c,&d);或者如1楼,3楼的做法。
{
TCHAR szText[] = _T("0 3594.125 3594.125 770.000");
TCHAR seps[] = {_T(" ")};
TCHAR* token = NULL;
token = _tcstok(szText, seps);
while(NULL != token)
{
_tprintf(_T("%d\n"), _ttoi(token)); token = _tcstok(NULL, seps);
} return 0;
}
然后trim一下空格就没有了