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, , 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学习 文件操作注册表操作的更多相关文章
- 【读书笔记】C#高级编程 第二十四章 文件和注册表操作
(一)文件和注册表 对于文件系统操作,相关的类几乎都在System.IO名称空间中,而注册表操作由System.Win32名称空间中的类来处理. (二)管理文件系统 System.MarshalByR ...
- 《天书夜读:从汇编语言到windows内核编程》八 文件操作与注册表操作
1)Windows运用程序的文件与注册表操作进入R0层之后,都有对应的内核函数实现.在windows内核中,无论打开的是文件.注册表或者设备,都需要使用InitializeObjectAttribut ...
- MFC注册表操作
注册表简介 有时程序中要存些设置信息,一个方法就是创建一些普通的txt或xml文件,然后保存进去就行了.另一办法就是保存到注册表里.注册表是由windows维护的一个小数据库.里面也会保存window ...
- QSettings配置读写-win注册表操作-ini文件读写
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSettings配置读写-win注册表操作-ini文件读写 本文地址:http:// ...
- Delphi的注册表操作
转帖:Delphi的注册表操作 2009-12-21 11:12:52 分类: Delphi的注册表操作 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创 ...
- [No000005]C#注册表操作,创建,删除,修改,判断节点是否存在
//用.NET下托管语言C#操作注册表,主要内容包括:注册表项的创建,打开与删除.键值的创建(设置值.修改),读取和删除.判断注册表项是否存在.判断键值是否存在. //准备工作: //1:要操作注册表 ...
- c++ 操作注册表
1. 注册表简介 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (Win ...
- delphi 注册表操作(读取、添加、删除、修改)完全手册
DELPHI VS PASCAL(87) 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操 ...
- CRegKey 注册表操作
CRegKey 注册表操作 标签: accessnulluserpathbyteie 2011-11-03 13:55 3477人阅读 评论(0) 收藏 举报 分类: win32(7) 1.简介 ...
随机推荐
- input绑定datapicker控件后input再绑定blur或者mouseout等问题
input绑定datapicker控件后input再绑定blur或者mouseout等问题 问题描述:今天在修改一个东西的时候需要给一个input输入域绑定blur事件,从而当它失去焦点后动态修改其中 ...
- Jaxb笔记
摘自: http://www.blogjava.net/eagle-daiq/archive/2012/01/30/369016.html 最近项目原因,研究了下jaxb.jaxb是Java api ...
- [Hibernate] - Select/Update/Delete/Insert
Java bean: package com.my.bean; import java.util.Date; public class WorkPack { private String uWorkP ...
- 【Andorid开发框架学习】之Mina开发之服务器开发
下午那篇博客我们讲到了Mina的客户端的开发,如果还有没看过的同学可以看一下,我是传送门.现在,我们来学习一下,Mina的服务器的开发. 一.首先看一下,我的服务器的代码图片: 服务器代码我是在My ...
- Redis服务停止报错解决方案[NOAUTH Authentication required]
Redis服务器设置密码后,使用service redis stop 会出现以下信息: service redis stop Stopping ... OK (error) NOAUTH Authen ...
- Python之Fabric模块
Fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:命令执行.文件上传.下载及完整执行日 ...
- 328. Odd Even Linked List
Given a singly linked list, group all odd nodes together followed by the even nodes. Please note her ...
- C# 理解lock
本文为转载 .. 一. 为什么要lock,lock了什么? 当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待.但当不同的线程都需要访问某个资源的时候,就需要同步 ...
- HttpUrlConnection java.net.SocketException: Software caused connection abort: recv failed
最近做java swing程序在模拟httprequest请求的时候出现了这个错误 java.net.SocketException: Software caused connection abort ...
- ADF_Tutorials系列17_ADF Faces_ADF预定义组件的创建和使用
2013-05-01 Created By BaoXinjian