Bài tập môn Hệ Điều Hành - Pdf 13

HDTH môn Hệ ñiều hành Ôn lại các thao tác trên tập tin
Khoa Công Nghệ Thông Tin – Trường ðH KHTN Tp.HCM
1

Hướng dẫn thực hành bài 1
A. Lý thuyết
- Kỹ năng lập trình C căn bản.
- Các kỹ thuật lập trình liên quan ñến tập tin.

B. Thực hành
1. Viết chương trình (VCT) mã hóa nội dung của một tập tin & chương trình giải mã
tương ứng.
2. VCT nhập vào tên của một file .EXE có sẵn và gọi thực hiện file .EXE ñó.
3. VCT ñọc & hiển thị nội dung 1 tập tin ra màn hình dưới dạng Hex (như dạng hiển
thị nội dung tập tin của phần mềm NC khi nhấn phím F3 rồi nhấn tiếp F4 – nhưng
không cần xuất ra ñường thẳng ñứng phân cách).

Hướng dẫn:
- Các biến, hàm và kỹ năng cần biết:
o Các biến, hàm liên quan ñến tập tin:
 Con trỏ FILE: FILE *
 Mở file: FILE *fopen(const char *filename, const char *mode)
• filename: tên tập tin
• mode: r, w, a, r+, w+, a+, t(text), b(binary)
 ðọc dữ liệu: size_t fread(void *ptr, size_t size, size_t n, FILE* stream)
 Ghi dữ liệu: size_t fwrite(const void *ptr, size_t size, size_t n, FILE* stream)
• ptr: vùng ñệm ñể ñọc / ghi
• size: kích thước (theo byte) 1 item cần ñọc / ghi
• n: số item cần ñọc / ghi
• stream: con trỏ ñến file sẽ ñọc / ghi
• Trả về số item ñã ñược ñọc / ghi

dành 6 khoảng trống, canh phải, 2 số lẻ ñể biểu diễn biến b; dành 7
khoảng trống, canh phải, 2 số lẻ ñể biểu diễn biến c.
0 0 4 6 . 2 0 2 . 1 3

Bài 1:
Gợi ý: Có thể chọn phương pháp mã hóa ñơn giản là xoay vòng (tăng hoặc giảm giá trị
mã ASCII của mỗi ký tự (mỗi byte) của tập tin muốn mã hóa. Muốn giải mã ta chỉ việc
làm ngược lại quá trình trên. Ví dụ: tập tin có nội dung VIT CON
Chọn cách mã hóa tăng mỗi lần 2 nấc: V (86)  X (88) , I (73)  K (75)…
Giải mã sẽ làm ngược lại: X (88)  V (86), K (75)  I (73)…
Chú ý:
- Vì bảng mã ASCII chỉ có 256 ký tự tương ứng với mã ASCII từ 0 ñến 255. Do
ñó, ta phải chú ý mã hóa các ký tự có mã ASCII 254  0, 255  1… ứng với
cách mã hóa tăng 2 như trên.
- Muốn biết ký tự có mã ASCII là n là ký tự gì, ta giữ Alt rồi nhấn các chữ số của n
ñó rồi thả Alt ra. Ví dụ ta giữ Alt, nhấn 6, 5 rồi thả Alt ra, lập tức ta có chữ A vì
mã ASCII của ký tự A là 65.
- Công thức gợi ý:
Mã ASCII của ký tự ñã mã hóa = (Mã ASCII của ký tự cần mã hóa + n) % 256.
n > 0 : tăng, n < 0: giảm
Bài 2:
Sử dụng một trong cách hàm sau ñể gọi thực hiện một lệnh ngoài DOS:
- int system(const char *command)  trong thư viện PROCESS.H hoặc
STDLIB.H
- Nhóm lệnh exec… hay spawn… trong thư viện PROCESS.H
HDTH môn Hệ ñiều hành Ôn lại các thao tác trên tập tin
Khoa Công Nghệ Thông Tin – Trường ðH KHTN Tp.HCM
3

Lưu ý: ñể gọi thực thi một tập tin .EXE thì chương trình phải có một bộ nhớ ñủ lớn. ðể


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status