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, , SEEK_END);
int len = ftell(pFile);
char *pBuf;
pBuf = new char[len + ];
rewind(pFile);
fread(pBuf, , len, pFile);
pBuf[len] = '\0';
fclose(pFile);
MessageBox(pBuf); //二进制读写与文本读写不同, 文本以行为单位的13(0xD) 10(0xA) } void CFileView::OnWrite()
{ FILE *pFile = fopen("1.txt", "a+");
fseek(pFile, , SEEK_SET);
fwrite("test", , strlen("test"), pFile);
fflush(pFile);
fclose(pFile);
}

c++读写文件

void CFileView::OnReadcplusplus()
{ std::fstream fs("2.txt");
char ch[];
memset(ch, , );
//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, , NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
char ch[];
DWORD dwReads;
::ReadFile(hFile, ch, , &dwReads, NULL);
ch[dwReads] = ;
CloseHandle(hFile);
MessageBox(ch);
} void CFileView::OnWriteapi()
{ HANDLE hFile;
hFile = ::CreateFile("3.txt", GENERIC_WRITE, , 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 + ];
pBuf[dwFileLen] = ;
file.Read(pBuf, dwFileLen);
file.Close();
MessageBox(pBuf);
} void CFileView::OnWritemfc()
{ CFile file("4.txt", CFile::modeCreate | CFile::modeWrite);
char ch[] = "tester";
file.Write(ch, strlen(ch));
file.Close();
}

注册表操作

void CFileView::OnReadreg()
{ CString str;
LONG lSize;
//读取项的缺省值
RegQueryValue(HKEY_LOCAL_MACHINE, "Software\\test\\admin", str.GetBuffer(), &lSize);
MessageBox(str); //读取项的值
HKEY hKey;
RegOpenKey(HKEY_LOCAL_MACHINE, "Software\\test\\admin", &hKey);
DWORD dwType;
DWORD dwValue;
DWORD dwAge;
RegQueryValueEx(hKey, "age", , &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 = ;
RegSetValueEx(hKey, "age", , REG_DWORD, (CONST BYTE*)&dwAge, );
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"); }

例子下载

MFC学习 文件操作注册表操作的更多相关文章

  1. 【读书笔记】C#高级编程 第二十四章 文件和注册表操作

    (一)文件和注册表 对于文件系统操作,相关的类几乎都在System.IO名称空间中,而注册表操作由System.Win32名称空间中的类来处理. (二)管理文件系统 System.MarshalByR ...

  2. 《天书夜读:从汇编语言到windows内核编程》八 文件操作与注册表操作

    1)Windows运用程序的文件与注册表操作进入R0层之后,都有对应的内核函数实现.在windows内核中,无论打开的是文件.注册表或者设备,都需要使用InitializeObjectAttribut ...

  3. MFC注册表操作

    注册表简介 有时程序中要存些设置信息,一个方法就是创建一些普通的txt或xml文件,然后保存进去就行了.另一办法就是保存到注册表里.注册表是由windows维护的一个小数据库.里面也会保存window ...

  4. QSettings配置读写-win注册表操作-ini文件读写

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSettings配置读写-win注册表操作-ini文件读写     本文地址:http:// ...

  5. Delphi的注册表操作

    转帖:Delphi的注册表操作 2009-12-21 11:12:52 分类: Delphi的注册表操作 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息.     一.创 ...

  6. [No000005]C#注册表操作,创建,删除,修改,判断节点是否存在

    //用.NET下托管语言C#操作注册表,主要内容包括:注册表项的创建,打开与删除.键值的创建(设置值.修改),读取和删除.判断注册表项是否存在.判断键值是否存在. //准备工作: //1:要操作注册表 ...

  7. c++ 操作注册表

    1.       注册表简介 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (Win ...

  8. delphi 注册表操作(读取、添加、删除、修改)完全手册

    DELPHI VS PASCAL(87)  32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操 ...

  9. CRegKey 注册表操作

    CRegKey 注册表操作 标签: accessnulluserpathbyteie 2011-11-03 13:55 3477人阅读 评论(0) 收藏 举报  分类: win32(7)  1.简介 ...

随机推荐

  1. App开发者必备的运营、原型、UI设计工具整理

    移动应用开发者们,Attention please!在接下来的内容里,我们将介绍一些能够提高你们的应用的知名度和品质水平的工具. 仔细看看,下面这些工具你们都知道吗,用过吗?如果你还不知道,或许可以尝 ...

  2. Python基础教程【读书笔记】 - 2016/7/31

    希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第十波:第10章  充电时刻 Python语言的核心非常强大,同时还提供了更多值得一试的工具.Python的标准安装包括 ...

  3. 剑指offer系列40----机器人的运动范围

    package com.exe8.offer; /** *[题目]地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动, * 每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标 ...

  4. bzoj2592: [Usaco2012 Feb]Symmetry

    Description After taking a modern art class, Farmer John has become interested in finding geometric ...

  5. bzoj1015 星球大战

    Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通过 ...

  6. 真假云主机,VPS资料集合

    资料来源: http://www.west263.com/services/CloudHost/pk.asp?ads=baidu912 用"云里雾里"形容中小企业用户对云计算的理解 ...

  7. Chrome开发者工具详解(2)

    Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Network面板.Timeline面板.Profiles面板.Application面板.Sec ...

  8. DBA_Tablespace表空间的概念和管控(概念)

    2014-07-24 Created By BaoXinjian

  9. CF478 B. Random Teams 组合数学 简单题

    n participants of the competition were split into m teams in some manner so that each team has at le ...

  10. 在tortoiseSVN上将trunk的代码merge到branch上去

    1.进入branch项目的目录 2.右键选择merge 3.下一步 4.选择trunk