1. 我在程序中使用  ifstream fileName( "aaa.ini", ios_base::in );
为什么调试程序时会出现
libcpmtd.lib(xdebug.obj):errorLNK2019:无法解析的外部符号__malloc_dbg,该符号在函数"void*__cdecl operator new(unsignedint,structstd::_DebugHeapTag_tconst&,char*,int)"(??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)中被引用
libcpmtd.lib(xdebug.obj):errorLNK2019:无法解析的外部符号__free_dbg,该符号在函数"void__cdecl operator delete(void*,structstd::_DebugHeapTag_tconst&,char*,int)"(??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z)中被引用2. strcat  strcpy 等字符处理函数的安全版本怎么使用啊?3. string 类的对象怎么转换成 char*或char[] 的变量啊?各位最好写的具体一点,小弟比较笨呀~~

解决方案 »

  1.   

    1.单凭ifstream fileName( "aaa.ini", ios_base::in );这句应该不会错吧
    我写了N年了2.strcat  strcpy打碎那贵重加一个n编程strncat,strncpy
    但也不是绝对安全的
    建议还是使用std::string来处理字串问题,毕竟是C++嘛,不要再用过时的char*了3.你说的string是CString 还是std::string
    CString->char*
    CString str;
    (LPCTSTR)str
    str.GetBuffer(0)std::string str;
    str.c_str()
      

  2.   

    1.仍未解决
    2.由于许多标准函数需要 char * 的参数,使用std::string不知道该怎么转换
    3.谢谢这位大哥了~~
      

  3.   

    可能是lib包含文件的问题,或者修
    改编译时的属性设置,设置所包含的
    lib文件,或者可以重新建立工程文
    件,将原有部分复制过去.:)
      

  4.   

    用char串直接生成一个string对象。3. string 类的对象怎么转换成 char*或char[] 的变量啊? -》std::string::c_str()