c++ oracle 导出csv_C++ 读取 CSV 文件

C++实现读取CSV格式数据。

#include

#include

#include

using namespace std;

vector< vector > LoadData( const char* strFilePath )

{

//Read CSV Data

vector< vector > vecData;

ifstream inFile( strFilePath );

string strLine;

int nRowCount = 0;

getline( inFile, strLine ); //skip first row data

while( 1 )

{

getline( inFile, strLine );

int nPos = strLine.find( "," );

if( nPos < 0 )

break;

nRowCount++;

vector vecTmp;

while( nPos > 0 )

{

string strTmp = strLine.substr( 0, nPos );

float fTmp = atof( strTmp.c_str() );

vecTmp.push_back( fTmp );

strLine.erase( 0, nPos+1 );

nPos = strLine.find( "," );

}

float fTmp = atof( strLine.c_str() );

vecTmp.push_back( fTmp );

vecData.push_back( vecTmp );

}

int nColCount = 0;

if( nRowCount > 0 )

nColCount = vecData[0].size();

float fData[ nRowCount ][ nColCount ];

for( int nRow = 0; nRow < nRowCount; nRow++ )

{

vector vecTmp = vecData[ nRow ];

vecTmp.resize( nColCount, 0 );

for( int nCol = 0; nCol < nColCount; nCol++ )

{

fData[ nRow ][ nCol ] = vecTmp[ nCol ];

}

if( nRow < 5 )

cout << fData[nRow][0] << endl;

}

cout << "Data Row Count: " << nRowCount << " Column Count: " << nColCount;

return vecData;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值