【求解】如何用VC在指定路径生成配置文件,并写入一些配置信息的问题

badlyForPapers 2014-02-28 06:49:12
先说下昨天发了个帖子。
我的问题就是:我要做一个ftp下载,然后把文件从ftp上下载到某个路径,同时需要额外生成一个配置文件,这一步把我卡到了。
我的思路是:弄一个下载按钮,点击下载按钮,出现对话框,就可以选择下载到的路径(或者说某个文件中),这样就可以把文件从ftp上下载到选择的这个路径了,但是还需要在这个路径同时生成一个文件名一样后缀不一样的配置文件,这一步卡到我了,我不会生成配置文件,我连文件都不会生成。
地址是:http://bbs.csdn.net/topics/390719197

后来有几个好心的网友给了我回复,非常感动,表示感谢,根据网友的建议,我改编了一个网友的代码,能够生成配置文件了,并在配置文件中输入了名字和年龄两个信息,但是运行程序之后,生成的配置文件里有时候有内容,有时候没有内容,绝大多数情况运行之后配置文件里面是空的,让我非常崩溃,可以帮我看下问题吗?谢谢,只有40分了,前面的帖子给了五十分,分很少,希望大家不要嫌弃,在此谢谢了,你们的每一个回答都会给我启发,谢谢。
我的代码如下:
void CMy11Dlg::CreateIniFile1()
{
// TODO: Add your control notification handler code here
TCHAR pszPath[MAX_PATH];
BROWSEINFO bi;
bi.hwndOwner = this->GetSafeHwnd();
bi.pidlRoot = NULL;
bi.pszDisplayName = NULL;
bi.lpszTitle = TEXT("请选择文件夹");
bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
//打开对话框,选择路径
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
if (pidl == NULL)
{
return;
}
//把路径存储在pszPath中
if (SHGetPathFromIDList(pidl, pszPath)) //pszPath是接收路径的。
{
CString strPath = pszPath;
if(strPath.Right(1) != _T("\\"))//Right(n)从右边起取n个字符。
{
strPath+= _T("\\");
}

CString strIniFile = strPath + _T("conf.ini"); // 需要创建的配置文件名(包括各级路径)

//创建配置文件
HANDLE hFile;
// hFile=CreateFile(strIniFile,GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
hFile=::CreateFile(strIniFile,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
//向配置文件中输入信息

CString strName,strTemp;
int nAge;
strName="张三";
nAge=12;

::WritePrivateProfileString("StudentInfo","Name",strName,strIniFile);

strTemp.Format("%d",nAge);//%d需要用双引号括起来吗?
::WritePrivateProfileString("StudentInfo","Age",strTemp,strIniFile);
CloseHandle(hFile);

CString strStudName;
// int nStudAge;
GetPrivateProfileString("StudentInfo","Name","默认姓名",strStudName.GetBuffer(MAX_PATH),MAX_PATH,strIniFile);


}

}







...全文
109 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧