c++字符串如何转化为数字?
来源:百度知道 编辑:UC知道 时间:2024/05/09 21:10:44
我用c++从文件中读到一个字符串
"12.32 12 35 25.3 36.366"
内容全是数字形式,怎么把它们转化为一个实数数组
是visual C++
"12.32 12 35 25.3 36.366"
内容全是数字形式,怎么把它们转化为一个实数数组
是visual C++
你可以叫 stringstream 和 vector 帮忙。
下面的代码里 dbl_array 既是你要创建的实数数组(real 代表你读到的字符串)。
#include<vector>
#include<string>
#include<sstream>
using namespace std;
int main( ) {
string real = "12.32 12 35 25.3 36.366";
stringstream ss( real );
vector< double > vd;
// Collect all real numbers.
double temp;
while( ss >> temp )
vd.push_back( temp );
// Create the array.
double *dbl_array = new double[ vd.size( ) ];
for( int i = 0; i < vd.size( ); ++i )
dbl_array[ i ] = vd[ i ];
}
值得一提的是,vector 可以被当成数组来用,而且它比数组优秀很多,所以你大可去掉上