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

Đề tài: Lấy dữ liệu từ file

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

    Mặc định Lấy dữ liệu từ file

    Ví dụ mình có 1 tập tin, trong đó vừa có ký tự vừa có số nguyên, số thực ... Làm sao để lấy được số nguyên hoặc số thức hoặc ký tự.
    Ví dụ : trong file có : a,b (4,5);
    Làm sao lấy đc số 4 và số 5.
    ( Mới đầu mĩnh nghĩ chuyển nó sang mã ASSCI nhưng cách này ko ổn giờ ko biết làm cách nào nữa)
    Ah, làm sao khởi động chế độ đồ họa trong (BC++ 502). Mong các bạn chỉ.

  2. #2
    Ngày gia nhập
    02 2009
    Nơi ở
    Da Nang
    Bài viết
    2

    Mình có ý tưởng thế này: nếu muốn đọc số theo như bạn nói ấy thì nếu là trường hợp số nguyên thì ta tổ chức một biến kiểu số nguyên sau đó sử dụng hàm isdigit() (hình như rứa chứ mình ko nhớ chính xác lắm bạn có thể đánh chữ isdigit sau đó đưa con trỏ lui chữ cái đầu tiên rồi nhấn CTRL - F1 để xem thử) để kiểm tra có phải là số hay không nếu là số ấy thi mình mới đọc còn không bỏ qua.
    PHP Code:
    FILE *f;
    int x;
    f=fopen("filename","r");
    while (!
    foef(f))
     {
        while (!
    isdigit(getc(f)));
        
    fseek(f,-1,1);// lùi một byte 
        
    fscanf(f,"%d",&x); 
        
    printf("%d ",x);
      } 
    Mình cũng chỉ mới đọc sơ qua về FILE thôi, mấy cái hàm nớ cũng không biết gi có chính xác không nữa, với lại mụ đích chỉ minh họa ý tưởng rứa thôi, chưa test thử hehe

    Nhưng mà mình nghĩ ko có bài toán nào yêu cầu đọc vào một file như vậy đâu, FILE chủ yếu là công cụ để lưu trữ liệu còn quan trọng là thuật toán để giải quyết bài toán thôi
    Đã được chỉnh sửa lần cuối bởi mieu_nhuoclan : 26-02-2009 lúc 12:03 PM.
    #include <cuộc sống.h>
    #include <tình yêu.h>

  3. #3
    Ngày gia nhập
    02 2009
    Nơi ở
    Da Nang
    Bài viết
    2

    mình thử test code trên rồi nhưng khồng được nên đã nghĩ ra cách mới đã làm thử, test thử --> Ok lun hehe

    PHP Code:
    FILE *f
    int x,c
    f=fopen("filename","r"); 
    while (!
    foef(f)) 
     { 
    c=getc(f);
        if (
    c>='0' && c<='9')
         {
           
    fseek(f,-1,1);// lùi một byte  
           
    fscanf(f,"%d",&x);  
           
    printf("%d ",x); 
          }
      } 
    #include <cuộc sống.h>
    #include <tình yêu.h>

  4. #4
    Ngày gia nhập
    10 2007
    Bài viết
    15

    Trích dẫn Nguyên bản được gửi bởi mieu_nhuoclan Xem bài viết
    mình thử test code trên rồi nhưng khồng được nên đã nghĩ ra cách mới đã làm thử, test thử --> Ok lun hehe

    PHP Code:
    FILE *f
    int x,c
    f=fopen("filename","r"); 
    while (!
    foef(f)) 
     { 
    c=getc(f);
        if (
    c>='0' && c<='9')
         {
           
    fseek(f,-1,1);// lùi một byte  
           
    fscanf(f,"%d",&x);  
           
    printf("%d ",x); 
          }
      } 
    Cách của bạn mình cũng đã thử rồi, cách này chỉ lấy đc những số từ 0 đến 9 ( ví mã ASSCI từ 0 đến 9 liên tục nhau), ngoài ra những số khác ko thể lấy đc ==> pó tay.
    Dù sao cũng cám ơn bạn ( thật tình thì ko ai bắt làm bài này, mình chỉ thử đưa ra ví dụ có trường hợp đó thì làm thế nào để giải quyết thôi ^^)

  5. #5
    Ngày gia nhập
    04 2007
    Bài viết
    134

    Thì chỉ việc đọc từng ký tự rồi xử lý.
    Làm như mieu_nhuoclan là đúng rồi, nếu bạn muốn lấy thêm số nào ngoài 0 - 9 thì xét đk, chia thêm vài trường hợp nữa thôi. Dễ mà.

    ASSCI là cí rì

  6. #6
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Mặc định Lấy dữ liệu từ file

    Nếu không lựa lấy được thì bạn cứ lấy tất vào chuỗi ý rồi đêm sử lý sau. atoi có thể lấy được số trong chuỗi tạp nham mà. Với một vài hàm để lựa lấy ra cái bạn cần.

    Nếu chưa rõ lắm, bạn thử đưa ra một vd file input như nào và yêu cầu ra sao, mình sẽ thử làm cho. Chú ý, số thực sử dụng . chứ không phải là , như vd của bạn đâu.

  7. #7
    Ngày gia nhập
    02 2009
    Nơi ở
    Da Nang
    Bài viết
    2

    Trích dẫn Nguyên bản được gửi bởi CuiBapOnline Xem bài viết
    Cách của bạn mình cũng đã thử rồi, cách này chỉ lấy đc những số từ 0 đến 9 ( ví mã ASSCI từ 0 đến 9 liên tục nhau), ngoài ra những số khác ko thể lấy đc ==> pó tay.
    Dù sao cũng cám ơn bạn ( thật tình thì ko ai bắt làm bài này, mình chỉ thử đưa ra ví dụ có trường hợp đó thì làm thế nào để giải quyết thôi ^^)
    Ủa !!!? mình đã chạy thử rất nhiều lần rồi, chỉ cần là một file bất kỳ thì kết quả nhận được là tất cả các số nguyên có trong file, với số thực cũng vậy....
    bạn đã thử chưa đấy..
    ví dụ file có nội dung: ablkjlofl 3.5 df43kljs56 sdf.65 43sdffgs
    thì khi chạy chương trình sẽ in ra màn hình các số là: 3 5 43 56 65 43
    mình thử rồi mà...
    #include <cuộc sống.h>
    #include <tình yêu.h>

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

  1. Cách add file thư viện dll vào file exe để tạo một file chạy duy nhất C#
    Gửi bởi nthung2112 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 20
    Bài viết cuối: 01-09-2012, 10:01 AM
  2. 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
  3. Giới thiệu cách chuyển File Ảnh thành file Video trong download proshow gold
    Gửi bởi thuhu0900x trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 3
    Bài viết cuối: 03-07-2012, 03:54 AM
  4. Đọc dữ liệu file midi dạng số HEX và lấy lời nhạc trong file ra file text
    Gửi bởi kimngockhtn_2007 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 29-06-2011, 04:40 PM
  5. Trả lời: 17
    Bài viết cuối: 23-05-2011, 11:47 AM

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