30/09/2018, 19:42

Làm sao lượt bỏ một số cột dữ liệu với fstream

Mình có đoạn codes sau đọc dữ liệu từ file, vấn đề là ở file mình chỉ muốn đọc một số cột mình cần, còn lại bỏ qua. Nhờ mọi người xem giúp mình vs:

   void read_record (const string &filepath)
 {
 Record d;
ifstream data_in (filepath.c_str());
    if (!data_in)
        {cout<<"Failed to open"<<endl;}
    else
        {
        string id_o,age_o, dim_o, my_o;
        string dummy_line;
        getline(data_in, dummy_line);

        while (data_in>>id_o>>age_o>>dim_o>>my_o)
            {
//some cout codes here            
            }
            data_in.close();
        }
    
       }

Giả sử mình có 10 cột, nhưng mình chỉ muốn đọc/tách 3 cột có chứa dự liệu tương ứng vs 3 biến mình đang cần thì phải làm sao vậy.
Thanks

Khôi Trần viết 21:44 ngày 30/09/2018

cần xem câu trúc file ntn neu 10 cột trên từng dòng thì dọc xong 3 cái thì getlline là xuống dòng sau

Phuong Ho viết 21:51 ngày 30/09/2018

mình hiểu ý tưởng của bạn, nhưng cấu trúc dữ liệu hiện tại của minfh là các dòng mình cần lại
không nằm cạnh nhau, và cũng ko năm ở 3 cột đầu.

Khôi Trần viết 21:42 ngày 30/09/2018

đưa file lên đây và bạn cần gì

Phuong Ho viết 21:48 ngày 30/09/2018

File số liệu đây bạn ơi, nó có nhiều cột, nhưng mình chỉ muốn lấy/đọc cái cột tên là: a, h, i, j, n, v;
Thanks

Khôi Trần viết 21:54 ngày 30/09/2018

mình nghĩ cứ đọc từng dòng 1 vào mảng rồi lấy theo chỉ số mảng thôi

Bài liên quan
0