C++逐行读取txt文件

  1. txt文件数据

    100,200
    300,400
    500,600
    700,800
    800,1000
    
  2. code

    #include <iostream>
    #include <sstream> //字符串转换
    #include <fstream>
    #include <string>
    #include <vector>
    
    int main(int argc, char **argv)
    {
        ifstream fin("data.txt");
        string line;
        vector<double> location_x, location_y;
    
        if(fin) 
        {
            while (getline(fin, line)) //按行读取到line_info中
            {
                istringstream sin(line); //create string input object
                vector<string> Waypoints;
                string info;
    
                while (getline(sin, info, ','))  
                {
                    // cout << "info:" << info << endl;
                    Waypoints.push_back(info);
                }
    
                string x_str = Waypoints[0];
                string y_str = Waypoints[1];
    
                // cout<< "x_str" << x_str << endl;
                // cout<< "y_str" << y_str << endl;
    
                double x, y;
                stringstream sx, sy; //transform string to double
                
                sx << x_str;
                sy << y_str;
    
                sx >> x;
                sy >> y;
    
                location_x.push_back(x);
                location_y.push_back(y);
            }
        }
        else 
        {
            cout<<"no such file"<<endl;;
        }
    
        for(int j=0;j<location_x.size();j++)
        {
            cout<<"location_x[" << j << "]: " << location_x[j]<<endl;
            cout<<"location_x[" << j << "]: " << location_y[j]<<endl;
            cout<< endl;
        }
        return 0;
    }
    
  3. 结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值