Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: Đọc tập tin Hệ điều hành

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

    Mặc định Đọc tập tin Hệ điều hành

    mình đang học môn hệ điều hành. Nhưng mỉnh mù tịt môn này. Trước tới giờ chưa thực hành lập trình trên VC++ 6.0 bao gio nên thấy lúng túng. có câu hỏi muốn được giải đáp xin mọi người giúp đỡ, hướng dẫn.
    Cho người dùng nhập vào 1 tên tập tin, tìm kiếm trong bảng RDET cho biết tập tin này có đang nằm trong thư mục gốc của ổ đĩa mềm hay không, nếu có thì in ra vị trí các cluster mà tập tin đó đang chiếm (tìm trong bảng FAT1 để biết).
    Mình không biết tìm tên tập tin trong Rdet sao cả.
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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

    Ủa, VC6 chạy trên win mà. Trong win thì làm gì có chuyện đọc trực tiếp bảng FAT như trong dos được. Muốn đọc thì phải gửi điều khiển vào driver và nhờ nó đọc giúp. Dù sao thì cũng ko thể đọc trực tiếp bảng FAT như bạn yêu cầ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.

  3. #3
    Ngày gia nhập
    09 2007
    Bài viết
    724

    đọc bảng FAT tốt nhất là dùng mấy hàm đọc sector trong BC nó hỗ trợ rùi.

    Mình có mấy đoạn code lúc trước học HDH còn sót lại bạn tham khảo thêm nhé.
    nó code bằng BC.

    C Code:
    1.  
    2. #include<stdio.h>
    3. #include<conio.h>
    4. #include<dos.h>
    5. #include<alloc.h>
    6.  
    7.  
    8. int GetValueFAT(char* FAT,int entry)
    9. {
    10.     int i;
    11.     i = (int)entry*1.5;
    12.     int highByte = FAT[i+1];
    13.     int lowByte = FAT[i];
    14.  
    15.     if(entry%2==0)
    16.         return (lowByte|((highByte&0xf)<<8));
    17.     else
    18.         return (highByte | ((lowByte&0xf0) >> 4));
    19. }
    20.  
    21. void ReadFAT_SaveFile(int iDriver,char* FileName)
    22. {
    23.     int *Result;
    24.     char *buff;
    25.     buff = (char*)malloc(4068);
    26.     absread(iDriver,9,1,buff);
    27.     int elementFAT = (int)(9*512)/(3/2);
    28.     Result = (int*)malloc(elementFAT);
    29.     for(int i=0; i<elementFAT; i++)
    30.     {
    31.         Result[i]= GetValueFAT(buff,i);
    32.     }
    33.  
    34.     // giai phong vung nho
    35.  
    36.     free(buff);
    37.     // phan ghi len tap tin
    38.  
    39.         FILE* f;
    40.     f = fopen(FileName,"w");
    41.     for(int j=0;j<elementFAT;j++)
    42.         fprintf(f,"%2x",Result[j]);
    43.     free(Result);
    44.     fclose(f);
    45. }
    46.  
    47. void main()
    48. {
    49.     clrscr();
    50.     ReadFAT_SaveFile(1,"b:\\FAT.txt");
    51. }

    ps: giờ nhìn lại cái màn hình BC xanh lè mà ngán code thiệt đó .


    Tiêu đề không dấu bạn không sửa lại mèo mà thấy thì .... Mèo sẽ xem bạn là 'chuột' ngay
    Đã được chỉnh sửa lần cuối bởi zkday2686 : 28-10-2008 lúc 10:50 PM.

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

    không. mình học lập trình hệ điều hành trên VC ++ 6.0. Thao tác trên đĩa mềm ảo. Sử dụng thư viện ngoài "RWDisk.h"

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

    pó hand ---> sử dụng thư viện bên ngoài mà không đưa ra cho người khác, cũng không nói rõ nữa. rồi nhờ người khác giải đáp thắc mắc của mình khác nào bạn đang bắt người khác leo lên trời hả bạn

    ps bài viết tiêu đề không dấu có lẽ bị mèo thịt cho mà xem

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

    Mặc định Đọc tập tin Hệ điều hành

    đây là thư viện của nó
    Attached Files Attached Files

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

    quên, còn đây nữa
    Attached Files Attached Files

  8. #8
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Bạn coi lại code của zkday đi. Trong đó hàm này là quan trọng :
    PHP Code:
     absread(iDriver,9,1,buff); 
    Bạn coi lại thư viện của mình đi ? Có viết lại hàm này ko ?

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

    Trích dẫn Nguyên bản được gửi bởi zkday2686 Xem bài viết
    Tiêu đề không dấu bạn không sửa lại mèo mà thấy thì .... Mèo sẽ xem bạn là 'chuột' ngay
    Mình chưa mần thịt đâu, tại hôm này rằm ăn chay . Mình đã thêm dấu vào tiêu đề cho khổ chủ rồi. Topic này khá hay, "thịt" nó uổng quá.
    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.

  10. #10
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mà sao mình đang học OS mà lại ko có mấy cái hay hay này nhi ?
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Đã được chỉnh sửa lần cuối bởi meoconlongvang : 29-10-2008 lúc 09:44 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