使用VC的MFC实现读配置文件

在制作MFC实用程序时,经常会通过读取配置文件的方式,来设置源程序的值。例如,制作一个贷款计算器。界面上将会提供利率设定,且不同时期国家的利率会做相应调整。为使程序更智能,我们可以通过读取/写入配置文件的方式,使其得到更新。以下为三个实用的函数。

 

 //   取得应用程序路径  
  cstring   getapppath()  
  {  
  char   exepath[max_path];  
  cstring   strdir,   tmpdir;  
   
  memset(exepath,   0,   max_path);  
   
  getmodulefilename(null,   exepath,   max_path);  
  tmpdir   =   exepath;  
  strdir   =   tmpdir.left(tmpdir.reversefind(//));  
   
  return   strdir;  
  }  


  //   读取xs.ini下的[info]下的一个名字叫"key"的相应的值  
  cstring   getkey()  
  {  
  cstring   strret;  
  char   inivalue[100],   filename[max_path];  
   
  memset(inivalue,   0,   100);  
  memset(filename,   0,   max_path);  
   
  sprintf(filename,   "%s//ini//xs.ini",   getapppath());  
  getprivateprofilestring("info",    
  "key",  
  "",  
  inivalue,  
  sizeof(inivalue),  
  filename);  
   
  strret   =   inivalue;  
   
  return   strret;  
  }  


  //   设置xs.ini下的[info]下的一个名字叫"key"的相应的值  
  void   setkey(int   key)  
  {  
  cstring   strret;  
  char   filename[max_path],   ckey[10];  
   
  memset(ckey,   0,   10);  
  memset(filename,   0,   max_path);  
   
  sprintf(filename,   "%s//ini//xs.ini",   getapppath());  
  sprintf(ckey,   "%d",   key);  
  writeprivateprofilestring("info",   "key",   ckey,   filename);  
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤在MFC应用程序中使用Socket通信: 1. 在MFC应用程序中打开资源视图,右键单击资源视图中的应用程序并选择“属性”选。 2. 在应用程序属性对话框中,选择“配置属性”选卡,然后选择“常规”下的“字符集”选。将其设置为“使用多字节字符集”。 3. 在您的MFC应用程序中添加一个新的类,该类将继承自CSocket类。这个类将包含您的Socket通信代码。 4. 在您的应用程序中添加一个CSocket类对象,并在需要进行Socket通信的方法中使用它。 以下是一个简单的示例,演示如何在MFC应用程序中使用Socket通信: ``` // MySocket.h 文件 class MySocket : public CSocket { public: MySocket(); virtual ~MySocket(); void SendData(const char* data, int len); virtual void OnReceive(int nErrorCode); }; // MySocket.cpp 文件 MySocket::MySocket() { } MySocket::~MySocket() { } void MySocket::SendData(const char* data, int len) { int nSent; nSent = Send(data, len); if (nSent == SOCKET_ERROR) { int nErr = WSAGetLastError(); // 处理错误 } } void MySocket::OnReceive(int nErrorCode) { char buffer[1024]; int nRead = Receive(buffer, sizeof(buffer)); if (nRead > 0) { // 处理接收到的数据 } CSocket::OnReceive(nErrorCode); } // 在您的应用程序中使用 MySocket 类 void MyApplication::MyMethod() { MySocket socket; if (!socket.Create()) { // 处理错误 return; } if (!socket.Connect("127.0.0.1", 1234)) { // 处理错误 return; } socket.SendData("Hello, world!", 13); } ``` 注意,您需要在使用Socket通信之前启动Winsock库,例如: ``` WSADATA wsaData; int nResult = WSAStartup(MAKEWORD(2,2), &wsaData); if (nResult != 0) { // 处理错误 } ``` 还要确保在使用Socket通信后关闭Winsock库,例如: ``` WSACleanup(); ``` 这些是使用VCMFC实现Socket通信的基本步骤。希望对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值