MFC对 ini文件进行读写

本文介绍了一个Windows应用程序中如何通过自定义函数实现Ini文件的读写操作,包括获取应用程序路径、向Ini文件中写入字符串和整数类型的数据以及从Ini文件中读取这些数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1-文件名及文件内容在这里插入图片描述
2-界面设计
在这里插入图片描述
3-附源代码

// my fun   2020-10-10

// 获取exe文件的路径
TCHAR* GetAppPath(TCHAR* PathBuf, int BufSize)
{
  ZeroMemory(PathBuf, BufSize);
  GetModuleFileName(AfxGetApp()->m_hInstance, PathBuf, BufSize-1);
  PathRemoveFileSpec(PathBuf);
  _tcscat(PathBuf, _T("\\"));
  return PathBuf;
}

// 向 ini 文件中写入 int 型的数据,库中没有,故需要自己编写
static void WritePrivateProfileInt(LPCTSTR AppName, LPCTSTR KeyName, int Value, LPCTSTR IniFile)
{
  char s[128] = {0};
  itoa(Value, s, 10);
  WritePrivateProfileString(AppName, KeyName, s, IniFile);
}


void CRWiniDlg::OnBnClickedButtonWrite() // (按键)写入
{
  // 获取编辑框的值
  CString tmp;
  GetDlgItemText(IDC_EDIT_WRITE, tmp);//设置写入旁边的编辑框ID为IDC_EDIT_WRITE

  // 保存设置
  char m_szAppPath[256] = {0};
  GetAppPath(m_szAppPath, sizeof(m_szAppPath));
  strcat( m_szAppPath, "Assistor.ini");
  WritePrivateProfileString("GLOBAL", "AudioName", tmp, m_szAppPath);//写入string
  WritePrivateProfileInt("GLOBAL", "VideoId", 123456, m_szAppPath);//写入int 
}

void CRWiniDlg::OnBnClickedButtonRead() //   (按键)读出
{
  // 读取配置
  int m_videotime = 0;
  char szTmp[128] = {0};
  char m_szAppPath[256] = {0};
  GetAppPath(m_szAppPath, sizeof(m_szAppPath));
  strcat( m_szAppPath, "Assistor.ini");
  GetPrivateProfileString("GLOBAL", "AudioName", "audio", szTmp, sizeof(szTmp)-1, m_szAppPath);//读出string
  m_videotime = GetPrivateProfileInt("GLOBAL", "VideoId", 10, m_szAppPath );//读出int

  // 将读出的string值放到编辑框
  SetDlgItemText(IDC_EDIT_READ, szTmp);//设置读出旁边的编辑框ID为IDC_EDIT_READ

}

// my fun  --end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值