我需要从字符串中获取所有数字(双精度)并将它们写入数组。
例子
字符串:blabla2bla 123,12 bla bla 99 bla bla 3,1415bla bla
数组:[2] [123,12] [99] [3,1415]
我正在尝试使用strtod但不太了解它是如何工作的。
double d;
int leng;
string v;
char *end=(char*)s.c_str();
size_t i=0,k=0;
char buf[20];
while(1)
{
d=strtod(s.c_str(),&end);
cout<<d<<endl;
if(d==NULL) break;
sprintf(buf,"%f",d);
v=(const char*)buf;
leng=v.length();
k=s.find(v,i)+1;
s.erase(k,leng);
}