我用了
CString strAo;
m_OutputAudioDev.GetWindowText(strAo);
strAo.Format(TEXT("%s\0"), strAo);

WritePrivateProfileString(TEXT("AudioPlay"), TEXT("AudioPlayDevice"), 
                           strAo.GetBuffer(256),TEXT("E:\\Device.ini"));把我要保存的字符串放在了strAo中,又使用
TCHAR szNum[256];
GetPrivateProfileString(TEXT("AudioPlay"), TEXT("AudioPlayDevice"), 
         TEXT("C-Media Wave Device"), szNum, 256, TEXT("E:\\Device.ini"));
读出保存的strAo中的内容给szNum,之后做了强制转换CString(szNum)(我测试过这里得转换出了问题)。
之后我想用lstrcmp(szNum,friendName)==0这里就内存错误了
(其中friendly name是CString类型)我是一只VC才鸟 希望大家可以积极给我答复
                                        期待你们得正确的答案
        谢谢

解决方案 »

  1.   

    CString 类型不用lstrcmp这个函数比较相等
    直接用==就可以
      

  2.   

    还是不行 
    我个人认为是我读取×.ini文件之后出来问题 大家快来帮帮我啊~~~
      

  3.   

    CString strAo;
    m_OutputAudioDev.GetWindowText(strAo);
    WritePrivateProfileString(TEXT("AudioPlay"), TEXT("AudioPlayDevice"), 
                               (LPCTSTR)strAo,TEXT("E:\\Device.ini"));
      

  4.   

    解决了 是一个师兄帮我的
    方法如下:
    GetPrivateProfileString(TEXT("AudioPlay"), TEXT("AudioPlayDevice"), TEXT("C-Media Wave Device"), szNum, 256, TEXT("E:\\Device.ini"));
    m_Audioplay.Format("%s",szNum);
    就是在读出时的错误了~之前用的Format错误了不过还是谢谢大家的帮助~