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. javascript中的事件学习总结

    一.实例: 一段用js实现的固定边栏滚动特效代码(跨浏览器使用): 二.总结: 由于事件处理在不同浏览器之间存在差异(主要是要考虑ie8及以下浏览器的兼容性),所以在使用处理事件的方法之前,先要判断当 ...

  2. VS2010打开项目时,出现“已经在解决方案中打开了具有该名称的项目”问题的解决方案

    用的是VSS代码管理.一打开解决方案就看到有个类库不能加载. 解决方法: 直接右键编辑无法加载的类库,或者记事本编辑有问题类库的csproj文件, 删除以下几行: <SccProjectName ...

  3. php接二进制文件

    PHP默认只识别application/x-www.form-urlencoded标准的数据类型. 因此,对型如text/xml 或者 soap 或者 application/octet-stream ...

  4. vmware在非正常关机后无法启动虚拟机

    昨天使用vmware,由于笔记本温度过高,系统自动断电,导致实体机非正常关机.然后发现vmware无法启动虚拟机了,提示为‘This virtual machine appears to be in ...

  5. [dts]Device Tree格式解析

    转自:http://blog.csdn.net/airk000/article/details/21345159 目录: 1. 作用 2. 基本数据格式 3. 一些基本概念 4. 工作方式 a. 地址 ...

  6. 黄聪:VS2010每次F5启动都重新编译但是没办法进入断点

    这个问题主要是没有把Debug和Realse的生成配置勾上:

  7. (C/C++) Interview in English - Points.

    Q: What is a dangling pointer? A: A dangling pointer arises when you use the address of an object af ...

  8. 单实例Singleton

    单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了.这个设计模式主要目的是想在 整个系统中只能出现一个类的实例.这样做当然是有必然的, ...

  9. hdu 1536 S-Nim(sg函数模板)

    转载自:http://blog.csdn.net/sr_19930829/article/details/23446173 解题思路: 这个题折腾了两三天,参考了两个模板,在这之间折腾过来折腾过去,终 ...

  10. ajax提交后完全不进入action直接返回错误

    今天遇到个问题就是jQuery提交ajax请求,居然没有进入action的断点而直接返回错误信息. 仔细排查后才发现原来是因为客户端提交的某字段是100w的值,而后台对应的字段是个Short类型,根本 ...