zoukankan      html  css  js  c++  java
  • MFC学习 文件操作注册表操作

    c读写文件

    void CFileView::OnRead()
    {
    
        FILE *pFile = fopen("1.txt", "r");
        /*char ch[100 * 1024];
        memset(ch, 0, sizeof(ch));
        fread(ch, 1, sizeof(ch), pFile);
        fclose(pFile);
        MessageBox(ch);*/
        
        fseek(pFile, 0, SEEK_END);
        int len = ftell(pFile);
        char *pBuf;
        pBuf = new char[len + 1];
        rewind(pFile);
        fread(pBuf, 1, len, pFile);
        pBuf[len] = '';
        fclose(pFile);
        MessageBox(pBuf);
    
        //二进制读写与文本读写不同, 文本以行为单位的13(0xD) 10(0xA)
        
    }
    
    void CFileView::OnWrite()
    {
    
        FILE *pFile = fopen("1.txt", "a+");
        fseek(pFile, 0, SEEK_SET);
        fwrite("test", 1, strlen("test"), pFile);
        fflush(pFile);
        fclose(pFile);
    }

    c++读写文件

    void CFileView::OnReadcplusplus()
    {
        
    
        std::fstream fs("2.txt");
        char ch[200];
        memset(ch, 0, 100);
        //fs.read(ch, 100);
        fs >> ch;
        fs.close();
        MessageBox(ch);
        
    }
    
    void CFileView::OnWritecplusplus()
    {
        std::fstream fs("2.txt", std::ios::in | std::ios::out | std::ios::trunc);
        fs.write("test", strlen("test"));
        fs << "test123" << std::endl;
        fs.close();
    
    }

    win32API读写文件

    void CFileView::OnReadapi()
    {
    
        HANDLE hFile;
        hFile = ::CreateFile("3.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
        char ch[500];
        DWORD dwReads;
        ::ReadFile(hFile, ch, 500, &dwReads, NULL);
        ch[dwReads] = 0;
        CloseHandle(hFile);
        MessageBox(ch);
    }
    
    void CFileView::OnWriteapi()
    {
    
        HANDLE hFile;
        hFile = ::CreateFile("3.txt", GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
        DWORD dwWrites;
        ::WriteFile(hFile, "mytest", strlen("mytest"), &dwWrites, NULL);
        CloseHandle(hFile);
    }

    MFC的CFile类读写文件

    void CFileView::OnReadmfc()
    {
    
        CFile file("4.txt", CFile::modeRead);
        char *pBuf;
        DWORD dwFileLen;
        dwFileLen = file.GetLength();
        pBuf = new char[dwFileLen + 1];
        pBuf[dwFileLen] = 0;
        file.Read(pBuf, dwFileLen);
        file.Close();
        MessageBox(pBuf);
    }
    
    void CFileView::OnWritemfc()
    {
    
        CFile file("4.txt", CFile::modeCreate | CFile::modeWrite);
        char ch[200] = "tester";
        file.Write(ch, strlen(ch));
        file.Close();
    }

    注册表操作

    void CFileView::OnReadreg()
    {
    
        
        CString str;
        LONG lSize;
        //读取项的缺省值
        RegQueryValue(HKEY_LOCAL_MACHINE, "Software\test\admin", str.GetBuffer(200), &lSize);
        MessageBox(str);
    
        //读取项的值
        HKEY hKey;
        RegOpenKey(HKEY_LOCAL_MACHINE, "Software\test\admin", &hKey);
        DWORD dwType;
        DWORD dwValue;
        DWORD dwAge;
        RegQueryValueEx(hKey, "age", 0, &dwType, (LPBYTE)&dwAge, &dwValue);
        CString str2;
        str2.Format("age=%d", dwAge);
        MessageBox(str2);
    }
    
    void CFileView::OnWritereg()
    {
        HKEY hKey;
        RegCreateKey(HKEY_LOCAL_MACHINE, "Software\test\admin", &hKey);
        //第二个参数为键名, 如果没有, 设置缺省的值
        //第三个参数只能是REG_SZ(字符串型), 如果存放其它型的要用RegSetValueEx
        RegSetValue(hKey, NULL, REG_SZ, "wangwu", strlen("wangwu"));
        //写整数
        DWORD dwAge = 30;
        RegSetValueEx(hKey, "age", 0, REG_DWORD, (CONST BYTE*)&dwAge, 4);
        RegCloseKey(hKey);
    }
    
    void CFileView::OnDeleteregitem()
    {
        //删除项Key
        //RegDeleteKey(HKEY_LOCAL_MACHINE, "Software\test\admin");
        //删除值
        HKEY hKey;
        RegOpenKey(HKEY_LOCAL_MACHINE, "Software\test\admin", &hKey);
        RegDeleteValue(hKey, "age");
    
    }

     例子下载

  • 相关阅读:
    高级软件工程第四次作业(C++)
    248&258--高级软件工程第三次作业
    高级软件工程第二次作业--四则运算生成器
    2017282110258--高级软件工程--齐爽爽第一次作业
    一元多项式求导_9
    成绩排名_8
    写这个数 _7
    我要通过_6
    月饼_5
    Hadoop的读写类调用关系_图示
  • 原文地址:https://www.cnblogs.com/barrysgy/p/3215753.html
Copyright © 2011-2022 走看看