WriteFile與ReadFile實例(實用)


不多說,上代碼:

 1 struct NPC{
 2     char sex;
 3     int age;
 4     double Blood;
 5 };
 6 //通過WriteFile寫入數據
 7 void CWriteFileDlg::OnBnClickedButton1()
 8 {
 9     HANDLE hFile = CreateFile(_T("F:\\123.txt"), GENERIC_WRITE, FILE_SHARE_READ,NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL);
10     if (hFile== INVALID_HANDLE_VALUE) {
11         MessageBox(_T("出錯啦"));
12         return;
13     }
14     //定義各種數據
15     int number = 55567;
16     NPC mk;
17     mk.sex = 'm';
18     mk.age = 18;
19     mk.Blood = 100.00;
20     char szchar[20] = "你好!世界!!!";
21     DWORD iWrite = 0;
22     //寫入各種數據
23     BOOL rRet = WriteFile(hFile, &number, sizeof(number), &iWrite, NULL);
24     rRet = WriteFile(hFile, &mk, sizeof(mk), &iWrite, NULL);
25     rRet = WriteFile(hFile, szchar, sizeof(szchar), &iWrite, NULL);
26     if (rRet) {
27         MessageBox(_T("成功!"));
28     }
29     else {
30         MessageBox(_T("WriteFile失敗!"));
31     }
32     CloseHandle(hFile);
33     return;
34 }
35 
36 //使用ReadFile讀取數據
37 void CWriteFileDlg::OnBnClickedButton2()
38 {
39     HANDLE hFile = CreateFile(_T("F:\\123.txt"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
40     if (hFile == INVALID_HANDLE_VALUE) {
41         MessageBox(_T("出錯啦"));
42         return;
43     }
44     //定義接收數據的變量
45     int number = 0;
46     NPC read = {0};
47     char szStr[20] = "";
48     DWORD iWritten = 0;
49     CString retStr;
50     //讀取數字
51     BOOL iRet = ReadFile(hFile, &number, sizeof(number), &iWritten, NULL);
52     if (iRet) {
53         MessageBox(_T("讀取成功"));
54         retStr.Format(_T("%d"), number);
55         MessageBox(retStr);
56     }
57     else {
58         MessageBox(_T("讀取失敗!"));
59     }
60     //讀取結構體
61     iRet = ReadFile(hFile, &read, sizeof(read), &iWritten, NULL);
62     if (iRet) {
63         MessageBox(_T("讀取成功"));
64     }
65     else {
66         MessageBox(_T("讀取失敗!"));
67     }
68     //讀取字符串
69     iRet = ReadFile(hFile, szStr, sizeof(szStr), &iWritten, NULL);
70     if (iRet) {
71         MessageBox(_T("讀取成功"));
72         
73     }
74     else {
75         MessageBox(_T("讀取失敗!"));
76     }
77     CloseHandle(hFile);
78 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM