⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ini操作.txt

📁 一个通过USB->UART读取C8051F060的程序
💻 TXT
字号:
使CWinApp::GetProfileString读取自己的INI文件vc++技术

写MFC程序程时,向导会自动在注册表中建立本程序的键,用于保存程序的一些设置信息。但有时我们不希望将这些配置信息保存到注册表中,而要存在自己指定目录中的ini文件(或其它文件),我们不用自己重写一个CIniFile类,只需要要CWinApp::InitInstance()中修改CWinApp的几个成员变量就可以了,如下:

//以下代码放到InitInstance中
//首先清除注册表键值变量所分配的内存空间 .
free((void*)m_pszRegistryKey);
//再清除Ini变量
free((void*)m_pszProfileName);
 //改变Ini文件名.
 m_pszProfileName=_tcsdup("d:\myPrj\iniName.ini");

进行完以上设置后我就可以直接使用 GetProfileString WriteProfileString 等函数进行操作了




//////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
GetPrivateProfileString   
    
  和BCB中的TIniFile都是专门用来读INI文件的   
    
  DWORD   GetPrivateProfileString(   
      LPCTSTR   lpAppName,                 //   section   name   
      LPCTSTR   lpKeyName,                 //   key   name   
      LPCTSTR   lpDefault,                 //   default   string   
      LPTSTR   lpReturnedString,     //   destination   buffer   
      DWORD   nSize,                             //   size   of   destination   buffer   
      LPCTSTR   lpFileName                 //   initialization   file   name   
  );   


/////////////////////////////////////////////////////////////////////////////////////////////////////////
 生成的文件:                               
  [Message1]       
  time=     09/16/03     09:01:41       
  address=1234567       
  message="你好!!这里是指挥中心 "      
      
  写入文件:       
  CTime     sysTime=CTime::GetCurrent();       
  CString     str;       
  str=sysTime.Format("%c");       
  WritePrivateProfileString(strcnts,"time",str,".\\Message.ini");           
  str.Format("%ld",fxUSERID);       
  WritePrivateProfileString(strcnts,"address",str,".\\Message.ini");           
  str=m_strTxMessage;       
  WritePrivateProfileString(strcnts,"message",str,".\\Message.ini");       
      
  得到数据:       
  GetPrivateProfileString("Message100","address","",str.GetBuffer(20),20,".\\Message.ini");           
  fxUSERID=atol(str);       
  GetPrivateProfileString("Message100","message","",str.GetBuffe(300),300,".\\Message.ini");  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -