分别从文件中读取数据并将这两列用C ++相乘

时间:2011-03-01 15:33:24

标签: c++

我有一个数据文件“1.dat”,它有4列250行。

我需要读取每一行并处理它,以便将两列[col1和col2]相乘。

你能建议一种方法吗?

我必须使用C ++。

2 个答案:

答案 0 :(得分:0)

http://www.cplusplus.com/doc/tutorial/files/ 这里有一些关于如何使用C ++读取文件的技巧,之后您将需要将字符串转换为整数或浮动依赖。

答案 1 :(得分:0)

假设文件已分隔数据,您可能会:

  • 使用ifstream打开文件
  • 使用std::getline( ifstream, line )读取一行。你可以循环执行此操作。 line应该是std::string
  • 类型
  • 使用istringstream(line)处理每一行,然后将这些行读入您的元素。

要存储读取数据,您可以使用vector< vector< double > >或某种矩阵类。

vector<vector<double> >

ifstream ifs( filename );
std::vector< std::vector< double > > mat;
if( ifs.is_open() )
{
   std::string line;
   while( std::getline( ifs, line ) )
   {
       std::vector<double> values;
       std::istringstream iss( line );
       double val;
       while( iss >> val )
       {
          values.push_back( val );
       }
       mat.push_back( values );
   }
}