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.简介 ...
随机推荐
- bootstrapDialog插件集成datatables插件遇到的异常
最近项目中,涉及到很多细分领域的东西,有好些目前还没有详细的方案.这是后话,当前起步阶段,我要把握技术路线,搭建基础架构!其中,有好几个地方都用到模态框(Modal), 虽然Bootstrap框架里面 ...
- C++ Socket编程步骤 【转】
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW):基于TCP的socket编程是采用的流式套接字. 服务器 ...
- 08 Linux下MySQL的下载、安装及启动
测试环境 主机系统:Win7 64位 虚拟机:VMware® Workstation 11.1.0 虚拟机系统:CentOS 6.5 64位 Kernel 2.6.32-431.e16.x86_6 ...
- 读书笔记:Ross:概率模型导论:方差和协方差
例2.34 考虑N个人,一些人赞同某个提议,另一些人反对.假定Np个人赞同,N-Np人反对,p未知.现在想要通过随机选取n个人调查他们的态度,并由此来估计总体中赞同这个提议的人员比例p. 设Xi=1表 ...
- bzoj3917: [Baltic2014]sequence
Description 序列A由从N开始的连续K个数按顺序构成,现在将A中的每个数只保留某一个数码,记为序列B,给定K和B,求可能的最小的N Input 第一行一个数K,第二行K个数B_i Outp ...
- Learning Puppet — Manifests
Begin In a text editor — vim, emacs, or nano — create a file with the following contents and filenam ...
- pgsql 9.4修改数据库只读
先进入psql 切换到目标数据库 \c mydb 对于老表 grant usage on schema public to $read_only_user; grant select on all t ...
- mssql查询某个值存在某个表里的哪个字段的值里面
第一步:创建 查询某个值存在某个表里的哪个字段的值里面 的存储过程 create proc spFind_Column_In_DB ( @type int,--类型:1为文字类型.2为数值类型 )-- ...
- POJ题目分类
POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期: 一 ...
- NeHe OpenGL教程 第四十课:绳子的模拟
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...