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.简介 ...
随机推荐
- Struts2 - Check Login Interceptor
Struts2使用Interceptor做用户登陆检查: 1)新增一个bean: User.java package com.my.beans; import java.util.Date; impo ...
- discuz!3 二次开发C#学者
PHP入门,从搞数据库开始: 大致看了以下PHP还是很简单的 比如链接数据库,就这么几行,比asp.net简单的多,就是需要自己搞数据的显示,需要精通HTML和代码生成技术: <?php $co ...
- Linux From Scratch [1]
0. 首先解释下build, host和target build:编译过程运行在build上 host:编译出来的东西运行在host上 target:运行在host上的编译器编译出来的东西运行于tar ...
- LDAP过滤器使用说明(用户、组和容器的默认 LDAP 过滤器和属性)
说明来源:http://docs.oracle.com/html/E35191_01/ldap-filters-attrs-users.html#ldap-filters-attributes-use ...
- gcc链接参数--whole-archive的作用
// a.h extern void foo(); // a.cpp #include <stdio.h> void foo() { printf("foo\n"); ...
- [系统开发] Postfix 邮件管理系统
一.简介 开发时间:2012年 开发工具:Perl CGI 这是我开发的 Postfix 邮件管理系统,通过它可以安全.方便的对邮件域名.用户.权限.组.邮箱容量.安全等进行各种设置:界面样式借鉴了 ...
- [svn] linux命令——svn分支创建、合并
一.创建分支 1,创建一个分支 svn copy svn://xx.com/repo/trunk svn://xx.com/repo/branches/TRY-something -m 'make b ...
- ant中copy操作学习心得(转)
Ant真是太方便了,以前都没注意到它.功能很强大,能创建数据库,配置服务器,部署发布应用……只需要写好build.xml文件,剩下的就交给ant来“安装”你的WEB应用了. Appfuse的第一个an ...
- iphone dev 入门实例7:How to Add Splash Screen in Your iOS App
http://www.appcoda.com/how-to-add-splash-screen-in-your-ios-app/ What’s Splash Screen? For those who ...
- Ruby1.9.3-下载网络图片至本地,并按编号保存。
#本程序功能:下载网络图片至本地,并按编号保存. #使用Ruby1.9.3在winxp_sp3下编写. require 'nokogiri' require 'open-uri' #以下 根据网址解析 ...