Katou Megumi~ 2024-03-05 09:39 采纳率: 0%
浏览 2

CString变量声明问题导致获取不到ini配置文件值

CString sPassWord;
CString sFilePassWord;
//CString abc;
char szIniFullPath[MAX_PATH] = {0};
GetDlgItemText(IDC_EDIT1, sPassWord);
//程序目录
GetModuleBasePath(m_szAppPath,sizeof(m_szAppPath));
sprintf_s(szIniFullPath, sizeof(szIniFullPath), "%s\\Administrator.ini", m_szAppPath);

sFilePassWord = GetForIniFile("Administrator", sAdiministor, szIniFullPath);

为什么我只声明两个CString变量时,sFilePassWord获取不到配置文件ini指定section的值,但我随便多声明一个CString类似上面注释的CString abc的时候,就能够获取到值,这是为什么。CString abc并没有用。

  • 写回答

3条回答 默认 最新

  • 百锦再@新空间代码工作室 全栈领域优质创作者 2024-03-05 09:39
    关注

    CString abc;
    char _PATH[MAX] = {0};
    CString sPassWord;
    GetDlgItemText(IDC_EDIT1, sPassWord);

    CString m_szAppPath;
    memset(m_szAppPath, 0, sizeof(m_szAppPath));
    GetModuleBasePath(m_szAppPath, sizeof(m_szAppPath));

    char szIniFullPath[MAX] = {0};
    sprintf(szIniFullPath, "
    %s\Administrator.ini"
    , m_szAppPath);
    CString sAdiministor;
    GetForIniFile(szIniFullPath, "
    Administrator"
    , sAdiministor);

    CString sPassWord;
    CString sFilePassWord;

    szIniFullPath = {};

    sprintf(szIniFullPath, "
    %s\Administrator.ini"
    , m_szAppPath);

    sFilePassWord = sPassWord;

    当您声明了额外的CString变量时,可能会导致内存或其他相关数据结构发生变化,进而影响到后续的代码执行结果。在您的代码中,可能有一些变量或操作依赖于某些条件,而这些条件可能在您声明额外的CString变量时得到了满足,因此导致了sFilePassWord能够获取到值。

    为了更好地理解问题的根本原因,建议您检查代码中是否存在任何依赖关系或可能受到影响的变量,以确定为什么存在这种情况。


    有问题你别着急,评论留言都可以,看到马上就回复,尽量及时补充齐
    评论

报告相同问题?

问题事件

  • 创建了问题 3月5日

悬赏问题

  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了