首先我讲一下我的需求

WritePrivateProfileString循环向配置文件中写入变量名

我要实现的是先读取下图红圈中的数据,然后向para.ini配置文件中循环输入DataCastPortArr0=7006                 如上图所示
                                                                                                                                     DataCastPortArr1=7007
                                                                                                                                     DataCastPortArr2=7008   

 

WritePrivateProfileString循环向配置文件中写入变量名

再输入过程中,我碰到了一些的问题,如何才能循环输入DataCastPortArr0,DataCastPortArr1,DataCastPortArr2这三个变量呢?

下面介绍一些必要信息

图中画红圈的是读取控件上的List Control的值,DataCastPortList储存List Control表中的值

WritePrivateProfileString循环向配置文件中写入变量名

我最初的设想是这样的

CString str0;

for (int i = 0; i < pCtrl;  i++) {
        str0 = m_DataCastPortList.GetItemText(i, 0);
        WritePrivateProfileStringA ("data", "DataCastPortArr"+ i, str0, "D\\para.ini");  
    }

通过这种方式将"DataCastPortArr"+ i储存到para.ini配置文件中,  str0表示后面端口7006,7007,7008,可能是我想得太简单了,储存的数据出现了一些问题,储存并未成功

 

之后查阅了许多的博客,终于在一篇博客中找到了答案,将上面的那段代码修改如下

CString str0, strTemp;

for (int i = 0; i < pCtrl;  i++) {
        str0 = m_DataCastPortList.GetItemText(i, 0);
        strTemp.Format("%d", i);
        WritePrivateProfileStringA ("data", "DataCastPortArr"+strTemp, str0, "D\\para.ini");         //strTemp必须得转成CString类型,否则不能成功储存
    }

不能直接将变量 i 直接与DataCastPortArr相加,需要将变量 i 转换成CString类型的变量strTemp,才能正常存入配置文件中

 

之前做项目遇到,希望对大家有点帮助

相关文章:

  • 2021-07-09
  • 2021-10-11
  • 2022-02-28
  • 2022-12-23
  • 2021-08-18
  • 2021-12-08
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-09
  • 2022-12-23
  • 2022-12-23
  • 2021-12-01
相关资源
相似解决方案