Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Đọc file dung lượng lớn | Đọc file 13.0 mb

  1. #1
    Ngày gia nhập
    03 2008
    Bài viết
    25

    Mặc định Đọc file dung lượng lớn | Đọc file 13.0 mb

    Anh em giúp giùm mình với, dưới đây là thuật toán Prim tìm cây khung nhỏ nhất trong đồ thị, thầy cho mình cái file danh sách cạnh để test thử, file tới 13.0mb lận. T_T không bik có phải tại dung lượng nặng quá nên không đọc được file hay không, anh em test thử giùm mình nha. Dưới đây là bài làm Prim của mình với cái file test đó. Thanks trước nà.
    Attached Files Attached Files

  2. #2
    Ngày gia nhập
    03 2008
    Bài viết
    25

    :( hix, có bác nào giúp em test cái file input trên hộ không. Sẵn cho em bik xem có phải khi đọc file thì file dung lượng lớn thì thường không thể đọc nổi không. C++ có hạn chế dung lượng khi đọc 1 file nào đó không, nếu có thì mình giải quyết thế nào nhỉ.

  3. #3
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    13mb thì có gì đâu, đọc bình thường mà ? Tui cho đọc 93mb luôn vẫn chạy ầm ầm đây.
    Cậu thử đoạn này xem :
    Java Code:
    1. #include <iostream>
    2. #include <vector>
    3. #include <string>
    4. #include <stdexcept>
    5. #include <algorithm>
    6. #include <fstream>
    7. #include <ctime>
    8.  
    9. using std::vector;
    10. using std::string;
    11. using std::logic_error;
    12. using std::cout;
    13. using std::getline;
    14. using std::swap;
    15. using std::ifstream;
    16. using std::cin;
    17.  
    18. vector< string > getFileInfo( const string& file_name )
    19. {
    20.     ifstream         inf( file_name.c_str() );
    21.     string           line;
    22.     vector< string > file_container;
    23.     if( inf.fail() )
    24.     {
    25.         throw logic_error( "\n...File not found !\n" );
    26.     }
    27.     else
    28.     {
    29.         while( getline( inf, line ) )
    30.         {
    31.             file_container.push_back( line );
    32.         }
    33.         vector< string >( file_container ).swap( file_container );
    34.  
    35.         return file_container;
    36.     }
    37. }
    38.  
    39. void printFileInFo( const vector< string >& file_info, clock_t st, clock_t en )
    40. {
    41.     cout << "There are " << file_info.size() << " lines.\n";
    42.     cout << "Time required for reading is "
    43.          << static_cast< double >( en - st ) << "nano sec.\n";
    44. }
    45.  
    46. int main()
    47. {
    48.     std::clock_t     starting_time,
    49.                      ending_time;
    50.     string           file_name;
    51.     vector< string > file_info;
    52.  
    53.     cout << "Input a file name \n";
    54.     getline( cin, file_name );
    55.  
    56.     starting_time = clock();
    57.  
    58.     file_info     = getFileInfo( file_name );
    59.  
    60.     ending_time   = clock();
    61.  
    62.     printFileInFo( file_info, starting_time, ending_time );
    63.  
    64.     return 0;
    65. }

  4. #4
    Ngày gia nhập
    03 2008
    Bài viết
    25

    thanks rr ^^. Code của bạn chạy ok rồi, vậy có nghĩa là không phải do dung lượng file. Bạn giải thích cho mình dòng này cái
    C++ Code:
    1. vector< string >( file_container ).swap( file_container );
    và dòng này
    C++ Code:
    1. ifstream inf( file_name.c_str() );
    c_str() có tác dụng gì.
    Đã được chỉnh sửa lần cuối bởi hunter_hikaru : 27-03-2009 lúc 10:54 PM.

  5. #5
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    - Dòng 1 : dùng để giảm tối thiểu capacity của vector<>. Vì vector tự tăng gấp đôi capacity khi nó add 1 phần tử -> cái này dùng copy constructor để cắt bớt, đọc kĩ sẽ hiểu tại sao.
    - Dòng 2 : Constructor của object ifstream thôi, nó nhận vào c-string mà file_name là std::string nên dùng file_name.c_str().

Các đề tài tương tự

  1. Bài tập C++ [Socket][Transfer File]Send và Recv file dung lượng lớn >100MB bị treo dialog
    Gửi bởi bear_hoang trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 28-05-2013, 11:50 PM
  2. Bài tập C++ giúp e bài nối nội dung từ file này sang file khác vs
    Gửi bởi acer5750 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 08-09-2012, 01:51 AM
  3. File backup .bak có dung lương lớn hơn file .mdb và file log
    Gửi bởi MYNAM trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 4
    Bài viết cuối: 27-07-2012, 12:59 PM
  4. Thay đổi Icon của file phụ thuộc nội dung của file?
    Gửi bởi nam_dkn trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 14-12-2010, 04:45 PM
  5. Đọc file text? Đọc file dung lượng lớn? Lỗi lưu kết quả khi đọc nhiều lần?
    Gửi bởi totoise trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 19-04-2009, 08:21 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn