当前位置: 首页 > news >正文

无锡优化网站价格商铺设计

无锡优化网站价格,商铺设计,国际大型门户网站,网站模板aspMFC文件和注册表的操作 日志、操作配置文件、ini、注册表、音视频的文件存储 Linux下一切皆文件 C/C操作文件 const char* 与 char* const const char* 常量指针#xff0c;表示指向的内容为常量。指针可以指向其他变量#xff0c;但是内容不能再变了 char szName[6]操作文件 const char* 与 char* const const char* 常量指针表示指向的内容为常量。指针可以指向其他变量但是内容不能再变了 char szName[6]Bingo; const char* pName szName; *pName b;错误 //pName常量指针表示指向的内容为常量。指针可以指向其他变量但是内容不能再变了 ----------------------------------------------------- char szName[6]Bingo; char * const pNameszName; char *p;错误 *pNmae b;正确 //表示pName是指针常量表示地址是常量。不能再变了。但是内容可以改变C语言操作文件 _Check_return_wat_ _Success_(return 0) _ACRTIMP errno_t __cdecl fopen_s(_Outptr_result_nullonfailure_ FILE** _Stream,_In_z_ char const* _FileName,_In_z_ char const* _Mode //文件打开方式 );文件打开的模式 r’模式这是“只读”模式。如果文件不存在尝试打开将失败。文件指针位于文件开头不会清空文件原有内容。w’模式这是“只写”模式。如果文件存在它将被清空并从头开始写入如果文件不存在将创建一个新文件。文件指针位于文件开头。a’模式**这是“追加”模式。如果文件存在写入的数据将添加到文件末尾不会清空原有内容**如果文件不存在将创建一个新文件。文件指针位于文件结尾。r模式这是“读写”模式。文件必须存在文件指针位于文件开头。可以在文件任意位置读取或写入内容写入操作会覆盖原有位置的内容。w模式这也是“读写”模式。它类似于’w’模式但是它允许读取操作。打开文件后会清空文件内原有的内容。a模式这同样是“读写”模式。它类似于’a’模式但是它允许读取操作。写入内容时只会追加在文件尾部。 _Check_return_opt__ACRTIMP size_t __cdecl fwrite(_In_reads_bytes_(_ElementSize * _ElementCount) void const* _Buffer,_In_ size_t _ElementSize,//一个元素的字节数_In_ size_t _ElementCount,//元素个数_Inout_ FILE* _Stream );对于宽字节而言 wchar a[20] “bingo”; ANSI char a[20]“bingo”; fseek(//文件指针的定位_Inout_ FILE* _Stream, //指向FILE结构体指针_In_ long _Offset, //偏移量_In_ int _Origin //指定文件指针的起始位置//SEEK_CUR 当前位置//SEEK_END 文件结尾位置 //SEEK_SET文件开始位置 ); Ftell 返回文件指针的当前位置文件操作 void CMyMFCFileView::OnFileWrite() {FILE* pFile NULL;//打开文件errno_t err _wfopen_s(pFile, _T(1.txt),_T(w));if (err 0){MessageBox(_T(Open Success!!));}else{TRACE(Open Failed ErrorCode %d, GetLastError());return;}//fwrite()//WCHAR a[20] Lbingo;//宽字节而言 一个元素的字节数是2// char a1[20] bingo;//ANSI 一个元素的字节数是1//TRACE(*************a %d, a1 %d, sizeof(a), sizeof(a1)); //4020//fwrite(Bingo, 1, strlen(bingo), pFile);fwrite(LBingo, 2, wcslen(_T(bingo)) 1, pFile);//宽字节fclose(pFile);}void CMyMFCFileView::OnFileRead() {FILE* pFile NULL;//打开文件errno_t err _wfopen_s(pFile, _T(1.txt), _T(r));if (err ! 0){TRACE(Open Failed ErrorCode %d, GetLastError());return;} #if 0WCHAR pBuf[100] { 0 };//长度是未知的fread(pBuf,2,100,pFile);MessageBox(pBuf); #endiffseek(pFile,0,SEEK_END);//偏移到结尾位置int len ftell(pFile); //文件指针的当前位置文件长度WCHAR* pBuf new WCHAR[len 1];fseek(pFile, 0, SEEK_SET);//偏移到起始位置//rewind(pFile);//将文件指针重新放到文件开始处pBuf[len] 0;//确保数组最后一个元素为\0fread(pBuf, 2, len, pFile);//从指针位置开始读MessageBox(pBuf);fclose(pFile);}C操作文件 ofstream explicit basic_ofstream(const char* _Filename, ios_base::openmode _Mode ios_base::out,int _Prot ios_base::_Default_open_prot)#include io.h #include fstream using namespace std;void CMyMFCFileView::OnFileWrite() {ofstream ofs(2.txt); //第一个参数表示文件名2打开方式ofs.write(BingoC, strlen(BingoC));ofs.close(); }void CMyMFCFileView::OnFileRead() {ifstream ifs(2.txt);char pBuf[100] { 0 };ifs.read(pBuf, 100);USES_CONVERSION;CString str A2W(pBuf);MessageBox(str); ifs.close(); }Win32 API/MFC操作文件 CreateFile 文件、管道、邮槽 通信资源、磁盘设备、控制台、目录 CreateFileW(LPCWSTR lpFileName, //创建或打开的对象的名称DWORD dwDesiredAccess, //访问方式 读、读写、写、查询 0 GENERIC_READ,GENERIC_WRITEDWORD dwShareMode, //共享方式 0 LPSECURITY_ATTRIBUTES lpSecurityAttributes, //NULL安全权限不能被子进程继承DWORD dwCreationDisposition, //如何创建文件 CREATE_NEW CREATE_ALWAYSDWORD dwFlagsAndAttributes, //设置文件的属性和标志HANDLE hTemplateFile //NULL);WriteFile(HANDLE hFile,LPCVOID lpBuffer,DWORD nNumberOfBytesToWrite, //要写入的字节数LPDWORD lpNumberOfBytesWritten, //用来接收实际写入到文件的字节数LPOVERLAPPED lpOverlapped ); ReadFile(HANDLE hFile,LPVOID lpBuffer,DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead,LPOVERLAPPED lpOverlapped );Win32 API 操作文件 void CMyMFCFileView::OnFileWrite() {HANDLE hFile;hFile CreateFile(_T(3.txt), GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);if (hFile INVALID_HANDLE_VALUE){TRACE(INVALID_HANDLE_VALUE, ERRORCODE %d, GetLastError());return;}DWORD dwWrites;WriteFile(hFile, BingoWin32API, strlen(BingoWin32API), dwWrites, NULL);TRACE(###dwWrite %d, dwWrites);CloseHandle(hFile);}void CMyMFCFileView::OnFileRead() {HANDLE hFile;hFile CreateFile(_T(3.txt), GENERIC_READ, 0, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);//读数据、已存在的char pBuf[100] { 0 };DWORD dwReads;ReadFile(hFile, pBuf, 100, dwReads, NULL);TRACE(###dwReads %d, dwReads);CloseHandle(hFile); }MFC操作文件 void CMyMFCFileView::OnFileWrite() {//CFile(LPCTSTR lpszFileName, UINT nOpenFlags); 文件名、CFile file(L4.txt, CFile::modeCreate | CFile::modeWrite);file.Write(BingoMFC, strlen(BingoMFC));file.Close();}void CMyMFCFileView::OnFileRead() {CFile file(L4.txt, CFile::modeRead);char* pBuf;DWORD dwFileLen file.GetLength();pBuf new char[dwFileLen 1];pBuf[dwFileLen] 0;file.Read(pBuf, dwFileLen);file.Close();USES_CONVERSION;CString str A2W(pBuf);MessageBox(str); }基于文件对话框的读写 派生关系CFileDialog - CCommonDialog - CDialog - CWnd - CCmdTarget - CObject CFileDialog(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAsLPCTSTR lpszDefExt NULL,LPCTSTR lpszFileName NULL,DWORD dwFlags OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,LPCTSTR lpszFilter NULL,CWnd* pParentWnd NULL,DWORD dwSize 0,BOOL bVistaStyle TRUE); void CMyMFCFileView::OnFileWrite() {// CFileDialog(BOOL bOpenFileDialog, // TRUE for 构建一个打开的对话框, FALSE for 构建一个保存对话框 // LPCTSTR lpszDefExt NULL, // 指定默认的文件扩展名 NULL // LPCTSTR lpszFileName NULL, // 初始文件名 NULL 默认没有初始文件名 // DWORD dwFlags OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, // LPCTSTR lpszFilter NULL, //用来指定一个或一组文件的过滤器 // CWnd * pParentWnd NULL, //用来指定文件对话框的父窗口或者拥有窗口 // DWORD dwSize 0, //大小 // BOOL bVistaStyle TRUE); //可见或者不可见CFileDialog fileDlg(FALSE);fileDlg.m_ofn.lpstrTitle LBingo; //该窗口标题fileDlg.m_ofn.lpstrFilter _T(Text Files (*.txt));fileDlg.m_ofn.lpstrDefExt Ltxt;//默认保存类型//fileDlg.DoModal();if (IDOK fileDlg.DoModal()){CFile file(fileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite);USES_CONVERSION;char* szBuf T2A(fileDlg.GetFileName());TRACE(####fileDlg.GetFileName() %s, szBuf);file.Write(BingoMFC111, strlen(BingoMFC111));file.Close();} }void CMyMFCFileView::OnFileRead() { // CFileDialog(BOOL bOpenFileDialog, // TRUE for 构建一个打开的对话框, FALSE for 构建一个保存对话框 // LPCTSTR lpszDefExt NULL, // 指定默认的文件扩展名 NULL // LPCTSTR lpszFileName NULL, // 初始文件名 NULL 默认没有初始文件名 // DWORD dwFlags OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, // LPCTSTR lpszFilter NULL, //用来指定一个或一组文件的过滤器 // CWnd * pParentWnd NULL, //用来指定文件对话框的父窗口或者拥有窗口 // DWORD dwSize 0, //大小 // BOOL bVistaStyle TRUE); //可见或者不可见CFileDialog fileDlg(TRUE);fileDlg.m_ofn.lpstrTitle LBingo; //该窗口标题fileDlg.m_ofn.lpstrFilter _T(Chart Files (*.xlc)|*.xlc|)_T(Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|)_T(*.xlc; *.xls|All Files (*.*)|*.*||); //该窗口标题//fileDlg.DoModal();if (IDOK fileDlg.DoModal()){CFile file(fileDlg.GetFileName(), CFile::modeRead);char* pBuf;DWORD dwFileLen file.GetLength();pBuf new char[dwFileLen 1];pBuf[dwFileLen] 0;file.Read(pBuf, dwFileLen);file.Close();USES_CONVERSION;CString szBuf A2W(pBuf);MessageBox(szBuf);}}配置文件的访问与读写 [metadata] title搜狗双拼 [声母] chI shUvoid CMyMFCFileView::OnWriteConfig() {// TODO: 在此添加命令处理程序代码//获得当前路径WCHAR strPath[MAX_PATH] { 0 };GetCurrentDirectoryW(MAX_PATH, strPath);TRACE(333strPath %s, strPath);// 当前路径 E:\奇牛培训\学习笔记\mfc\MyMFCFile\ Test.iniCString strFilePath;strFilePath.Format(L%ls//Test.ini, strPath);WritePrivateProfileStringW(Lmetadata, Ltitle, L搜狗双拼, strFilePath);WritePrivateProfileStringW(L声母, Lch, LI, strFilePath);WritePrivateProfileStringW(L声母, Lsh, LU, strFilePath); }void CMyMFCFileView::OnReadConfig() { //获得当前路径WCHAR strPath[MAX_PATH] { 0 };WCHAR strTitle[MAX_PATH] { 0 }; WCHAR strCh[MAX_PATH] { 0 };WCHAR strSh[MAX_PATH] { 0 };GetCurrentDirectoryW(MAX_PATH, strPath);TRACE(333strPath %s, strPath);// 当前路径 E:\奇牛培训\学习笔记\mfc\MyMFCFile\ Test.iniCString strFilePath;strFilePath.Format(L%ls//Test.ini, strPath);DWORD dwNum1 GetPrivateProfileStringW(Lmetadata, Ltitle, NULL, strTitle, MAX_PATH, strFilePath);DWORD dwNum2 GetPrivateProfileStringW(L声母, Lch, NULL, strCh, MAX_PATH, strFilePath);DWORD dwNum3 GetPrivateProfileStringW(L声母, Lsh, NULL, strSh, MAX_PATH, strFilePath);TRACE(dwNum1 %ddwNum2 %ddwNum3 %d, dwNum1, dwNum2, dwNum3);USES_CONVERSION;char* szTitle W2A(strTitle);char* szCh W2A(strCh);char* szSh W2A(strSh);TRACE(strTitle %sstrCh %sstrSh %s, szTitle, szCh, szSh); }注册表编程 注册表API 注册表 存储在二进制文件里面win32API提供了大量的函数操作注册表 注册表WinR组合键 regedit 注册表读写 write RegCreateKeyW(_In_ HKEY hKey, //打开的当前项的句柄 实际上就是那几个分支_In_opt_ LPCWSTR lpSubKey, //打开或者创建的表项的名称_Out_ PHKEY phkResult //用来接收创建或者打开表项句柄 regclose);RegOpenKeyW(_In_ HKEY hKey,_In_opt_ LPCWSTR lpSubKey,_Out_ PHKEY phkResult);//写入注册表RegSetValueW(_In_ HKEY hKey, //打开的当前项的句柄 实际上就是那几个分支_In_opt_ LPCWSTR lpSubKey, //打开或者创建的表项的名称_In_ DWORD dwType, //只是被存储信息的类型 REG_SZ类型_In_reads_bytes_opt_(cbData) LPCWSTR lpData, //要存放到注册表里面的数据_In_ DWORD cbData //要存放的字符串数据的大小、长度);RegSetValueExW(_In_ HKEY hKey, //打开的当前项的句柄 实际上就是那几个分支_In_opt_ LPCWSTR lpValueName,//指向一个字符串的指针包含了将要设置值的名称_Reserved_ DWORD Reserved, //保留参数 0_In_ DWORD dwType, //REG_BINARY_In_reads_bytes_opt_(cbData) CONST BYTE * lpData,_In_ DWORD cbData);·read RegQueryValueW(_In_ HKEY hKey, //打开的当前项的句柄 实际上就是那几个分支_In_opt_ LPCWSTR lpSubKey,_Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPWSTR lpData,_Inout_opt_ PLONG lpcbData);--------------管理员身份运行-------------------- ---------------------------------------------- void CMyMFCFileView::OnWriteReg() {HKEY hKey;DWORD dwAge 39;//创建注册表项 管理员权限运行int ret ::RegCreateKeyW(HKEY_LOCAL_MACHINE, LSOFTWARE\\Rock\\admin, hKey);//写注册表if(ret ! ERROR_SUCCESS){TRACE(RegCreateKeyW Failed, ErrorCode %d, GetLastError());MessageBox(L创建注册表失败);return;}//写注册表 ::RegSetValueEx(hKey, Lage, 0, REG_DWORD, (CONST BYTE*) dwAge, 4);::RegCloseKey(hKey); }void CMyMFCFileView::OnReadReg() {HKEY hKey;DWORD dwAge;//创建注册表项 管理员权限运行int ret ::RegOpenKeyW(HKEY_LOCAL_MACHINE, LSOFTWARE\\Rock\\admin, hKey);//写注册表if (ret ! ERROR_SUCCESS){TRACE(RegOpenKeyW Failed, ErrorCode %d, GetLastError());MessageBox(L打开注册表失败);return;}//写注册表 DWORD dwType;DWORD dwValue;::RegQueryValueEx(hKey, Lage, 0, dwType, (LPBYTE) dwAge,dwValue);TRACE(####dwType %d, dwValue %d, dwAge %d, dwType, dwValue, dwAge);::RegCloseKey(hKey); }文件操作的企业级应用 1、调试日志 debugview 文件日志警告日志 错误日志 2、视频存储 3、文件传输 CFile 与 socket 结合使用 4、C语言和MFC的文件操作用途广泛win32API少用 ifstream ofstream 5、配置文件 windows 6、注册表的操作 病毒 逆向 操作注册表
http://www.pierceye.com/news/967439/

相关文章:

  • 湖州网站设计wordpress自动删除p标签
  • 昆明几大网站学生网站建设实训总结
  • 丽江手机网站建设建设公司起名大全
  • seo网站分析工具wordpress的安装包
  • 北京网站建设报价表徐州专业做网站
  • 怎样做网站卖网站国内免费开源crm
  • wordpress多语言网站济宁住房和城乡建设厅网站
  • 免费crm网站下载网站建设 繁体
  • 东莞企业官方网站建设网站建设对产品推销作用大吗
  • php网站路径问题站长工具权重查询
  • 箱包官方网站模板摄影后期教程网站
  • iis 手机网站同域名网站改版需要把之前网站里的文章都拷贝过来吗?
  • 网站是专门对生活中的一些所谓常识做辟谣的商标设计网站排行
  • seo网站设计营销工具抽奖网站插件
  • 家装设计网站大全网站建设用哪个好
  • 青海企业网站建设企业建设网
  • 电子商务网站环境建设怎么劝客户做网站
  • 山西教育学会的网站建设网站投放广告教程
  • 游戏网站的设计方案做装修业务呢有多少网站
  • 口碑好网站建设公司电话百度联盟网站备案信息
  • 网站建设排行公司建筑网页设计详情
  • 德国的网站后缀技术支持 东莞网站建设母婴护理
  • 彩票娱乐网站建设wordpress 邮件推送
  • 如何申请网站备案如何选择邯郸做网站
  • 专注做一家男生最爱的网站北京旅游设计网站建设
  • c 做网站凡科网站免费版怎么做
  • 门户网站开发多少钱wordpress主题文章页面不显示
  • 网站建设丶金手指下拉13个人网站有什么用
  • 企业网站建设解决方案wordpress搜索不了中文linux
  • 怎样在网站上做有效的广告投放手机网站公司哪家好