请问关于VS2008写入ini文件的有关问题
请教关于VS2008写入ini文件的问题~
工程原是用VC6.0生成的,转为VS2008后,报警如下:
warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
VC6.0原代码:这样写入ini文件是没有问题的;
VS2008代码: 这个样子编译什么的都成功,但是写不进ini文件的
被这个问题困扰很久了,希望大侠们能赐教
------解决方案--------------------
filePathName.Replace("\\","\\\\"); //转路径中‘\’为‘\\’
加了这个转换路径会出错的
还有就是WritePrivateProfileString不需要先用fopen打开文件的
工程原是用VC6.0生成的,转为VS2008后,报警如下:
warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
VC6.0原代码:这样写入ini文件是没有问题的;
FILE *fp=fopen(filePathName, "wt+") ;
if (fp!=NULL)
{
CString strTemp;
for ( i = 0; i < 10; i++ )
{
CString str;
str.Format("%d",i);
strTemp = m_List1.GetItemText(i,0);
WritePrivateProfileString(str,"通道",strTemp,filePathName);
}
}
VS2008代码: 这个样子编译什么的都成功,但是写不进ini文件的
filePathName.Replace("\\","\\\\"); //转路径中‘\’为‘\\’
FILE *fp;
if (!fopen(&fp,filePathName, "wt+") )
{
CString strTemp;
for ( i = 0; i < 10; i++ )
{
CString str;
str.Format("%d",i);
strTemp = m_List1.GetItemText(i,0);
WritePrivateProfileString(str,"通道",strTemp,filePathName);
}
}
被这个问题困扰很久了,希望大侠们能赐教
------解决方案--------------------
filePathName.Replace("\\","\\\\"); //转路径中‘\’为‘\\’
加了这个转换路径会出错的
还有就是WritePrivateProfileString不需要先用fopen打开文件的