Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Thắc mắc về hàm seekg()

    Mình không hiểu tại sao: len = -1 trong khi mình đã sử dụng hàm seekg để đưa con trỏ get về đầu hàng, nói chung là len luôn = -1 cho dù di chuyển con trỏ get đi đâu trong hàm main này. Vậy làm sao để có thể đưa con trỏ get về được đầu file ? ngoại trừ cách đóng file fin.close() sau đó lại mở lại.
    Mã:
    #include <iostream>
    
    using namespace std;
    
    int main(){
        ifstream fin("infile.txt");
        
        int cnt = 1;
        while(fin.get(c)){
            if(c == ' ' || c == '
    '){
                cnt++;
            }
        }
        
        fin.seekg(0, ios::beg); // hoac fin.seekg(0, fin.beg);
        int len = fin.tellg();
        
        cout << len;
        
        return 0;
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn nên thử để xem chuyện gì xảy ra: http://www.cplusplus.com/reference/ios/ios/fail/

  3. #3
    Mình vẫn chưa hiểu lắm bạn có thể giải thích rõ hơn cho mình không cảm ơn nhiều

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •