c++字符串如何转化为数字?

来源:百度知道 编辑:UC知道 时间:2024/05/09 21:10:44
我用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 可以被当成数组来用,而且它比数组优秀很多,所以你大可去掉上