tailieunhanh - Kỹ thuật truy xuất file .ini

Windows hỗ trợ việc truy xuất tập tin kiểu .ini như ví dụ trong bằng các hàm được giới thiệu sau đây. Chú ý, khái niệm section chỉ mỗi phần trong tập tin bắt đầu với tên section lưu trữ dạng [tên section], tiếp theo sau là các cặp khoá –giá trị như : Size=12. | Kỹ thuật truy xuất file .ini Kỹ thuật truy xuất File .ini Lu Buon Vinh Khoa Công nghệ Thông tin trường ĐH Khoa học Tự nhiên thelastsamuraitor@yahoo. ca Phiên bản cập nhật ngày 12 10 2004 Windows hỗ trợ việc truy xuất tập tin kiểu .ini như ví dụ trong bằng các hàm được giới thiệu sau đây. Chú ý khái niệm section chỉ mỗi phần trong tập tin bắt đầu với tên section lưu trữ dạng tên section tiếp theo sau là các cặp khoá -giá trị như Size 12. Ví dụ ChuongTrinh Ten Chuong trinh Rong Vang Logo ThoiGianTraLoi 15 SoCauHoiToiDa 16 Hàm cho số lượng và danh sách tên các section DWORD GetPrivateProfileSectionNames LPTSTR IpszReturnBuffer buffer nhận danh sách các tên section trả về DWORD nSize kích thước buffer LPCTSTR IpFileName tên file Danh sách các section tên section trong buffer các tên section nối tiếp nhau cách nhau bởi ký tự 0. buffer chứa tên các section tìm thấy trong file ví dụ có 3 section tên lần lượt là header footer và slide thì buffer sẽ là header 0footer 0slide 0 Phải tìm cách trích bufer thành mảng các chuỗi tên section. Ví dụ LPSTR buf new char 1000 memset buf 0 1000 GetPrivateProfileSectionNames buf 1000 d CStringArray arr for int i 0 i 1000 i if i 0 buf i 0 dau chuoi 1 3 Kỹ thuật truy xuất file .ini i 0 buf i 0 buf i-1 0 chuoi tiep theo char temp buf i temp int sectioncount delete buf Hàm truy cập các cặp key-value của section DWORD GetPrivateProfileSection LPCTSTR lpAppName tên section cần trích LPTSTR lpReturnedString return buffer DWORD nSize kích thước buffer LPCTSTR lpFileName tên file Buffer chứa danh sách các cặp khoá - giá trị của section cho trước nối tiếp nhau cách nhau bởi ký tự 0. Buffer chứa tên các cặp key-value tìm thấy trong section ví dụ có trong section Header có các cặp Size 12 và Style Bold thì buffer sẽ là Size 12 0Style Bold 0 Phải tìm cách trích bufer thành mảng các chuỗi tên key hoặc đếm có bao nhiêu cặp khoá - giá trị. Ví dụ GetPrivateProfileSection Header buf 1000 d Hàm truy .