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

Đề tài: [ Solved ]Cách đọc file .txt vừa có số và ký tự

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

    Mặc định [ Solved ]Cách đọc file .txt vừa có số và ký tự

    Có ai biết cách đọc file .txt như vậy chỉ em với cám ơn rất nhìu:
    5
    A
    B
    C
    D
    E
    0 1 1 1 1
    1 0 1 1 0
    1 1 0 0 0
    1 1 0 0 0
    1 0 0 0 0

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

    Dùng template để đọc file của 1 dữ liệu bất kì như sau :
    C++ Code:
    1. template< typename T >
    2. T get_arbitary_data( std::istream& inf )
    3. {
    4.     std::string ln;
    5.     std::getline( inf, ln );
    6.     std::istringstream is( ln );
    7.     T res;
    8.     is >> res;
    9.     return res;
    10. }

    Tui lấy 1 ví dụ struct với 3 dữ liệu của cậu trên kia, cậu có thắc mắc gì thì post hỏi, tui sẽ giải thích :
    C++ Code:
    1. #include <iostream>
    2. #include <sstream>
    3. #include <fstream>
    4.  
    5. const int MAX_SIZE = 100;
    6.  
    7. struct DataType
    8. {
    9.     int  m_N;
    10.     char m_chars[ MAX_SIZE ];
    11.     int  m_ary[ MAX_SIZE ][ MAX_SIZE ];
    12. };
    13.  
    14. template< typename T >
    15. T get_arbitary_data( std::istream& inf )
    16. {
    17.     std::string ln;
    18.     std::getline( inf, ln );
    19.     std::istringstream is( ln );
    20.     T res;
    21.     is >> res;
    22.     return res;
    23. }
    24.  
    25. void read_infile( DataType& obj, const std::string& file_name )
    26. {
    27.     std::ifstream ifn;
    28.     ifn.open( file_name.c_str() );
    29.  
    30.     if( ifn.fail() )
    31.     {
    32.         std::cerr << "File not found. \n";
    33.         std::cerr << "...end program!\n";
    34.         return;
    35.     }
    36.  
    37.     obj.m_N = get_arbitary_data< int >( ifn );
    38.  
    39.     for( int i = 0; i < obj.m_N; ++i )
    40.     {
    41.         obj.m_chars[ i ] = get_arbitary_data< char >( ifn );
    42.     }
    43.  
    44.     for( int x = 0; x < obj.m_N; ++x )
    45.     {
    46.         for( int y = 0; y < obj.m_N; ++y )
    47.         {
    48.             obj.m_ary[ x ][ y ] = get_arbitary_data< int >( ifn );
    49.         }
    50.     }
    51. }
    52.  
    53. void print_obj( std::ostream& out, const DataType& obj )
    54. {
    55.     out << "obj.m_N = " << obj.m_N;
    56.     out << "\n obj.chars[ ] = \n";
    57.     for( int i = 0; i < obj.m_N; ++i )
    58.     {
    59.         out << obj.m_chars[ i ];
    60.     }
    61.     out << "\n obj.ary[ ][ ] = \n";
    62.     for( int x = 0; x < obj.m_N; ++x )
    63.     {
    64.         for( int y = 0; y < obj.m_N; ++y )
    65.         {
    66.             out << obj.m_ary[ x ][ y ];
    67.         }
    68.         out << std::endl;
    69.     }
    70. }
    71.  
    72. int main()
    73. {
    74.     DataType          obj;
    75.     const std::string file_name = "t.txt";
    76.  
    77.     read_infile( obj, file_name );
    78.     print_obj( std::cout, obj );
    79.  
    80.     return 0;
    81. }

  3. #3
    Ngày gia nhập
    10 2008
    Bài viết
    9

    ví dụ: em có 1 file .txt
    10 34 3 A
    13 13 2 B
    29 53 4 C
    12 23 4 D

    Thì cách đọc và in ra màn hình cũng tương tự hả??
    có cách nào đơn giản tí ko??

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    có cách đơn giản hơn là đọc tất cả kiểu char, gặp khảong trắng thì chuyển thành số nếu được.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

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

  1. [ Solved ]Ghi dữ liệu lên file
    Gửi bởi ddhung trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 17-11-2008, 10:30 PM
  2. [ Solved ]Help với File
    Gửi bởi Se7Olutionyg trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 12-11-2008, 06:32 AM
  3. [ Solved ]Tạo file header
    Gửi bởi boy_popping trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 15
    Bài viết cuối: 28-10-2008, 02:22 PM
  4. [ Solved ]Xin hỏi cách lấy một số int từ file??
    Gửi bởi killua1989 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 17
    Bài viết cuối: 01-08-2008, 11:00 PM
  5. [Solved]Save một file vào db
    Gửi bởi nthung trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 1
    Bài viết cuối: 13-04-2008, 06:24 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