标题:求助在MFC里创建文件夹的问题
只看楼主
李昊逸Lion
Rank: 2
来 自:福州
等 级:论坛游民
威 望:2
帖 子:79
专家分:75
注 册:2017-8-1
结帖率:66.67%
已结贴  问题点数:20 回复次数:4 
求助在MFC里创建文件夹的问题
我做了一个MFC的登录框,里面做了一个注册界面,按照网上的方法先创建文件夹再放密码,结果发现文件夹无法创建,手动创建出文件夹后密码是乱码,求助一下
程序代码:
void Make::OnBnClickedOk()
{
    UpdateData(true);
    if (Again == NewPassword) {
        USES_CONVERSION;
        string name = W2A(NewName.LockBuffer());
        NewName.UnlockBuffer();
        char buf[100],buf2[100];
        sprintf_s(buf2, "D:\\Valiant_game\\%s", name.c_str());
        CString   strFolderPath;
        strFolderPath.Format(_T("%s"), "D:\\Valiant_game"); 
            //   判断路径是否存在   
        if (!PathIsDirectory(strFolderPath))
        {
            CreateDirectory(strFolderPath, NULL);
        }
        strFolderPath.Format(_T("%s"), buf2);
        if (!PathIsDirectory(strFolderPath))
        {
            CreateDirectory(strFolderPath, NULL);
        }
        else
        {
            MessageBox(_T("此用户已注册"), _T("错误"), MB_OK);
        }
        sprintf_s(buf, "D:\\Valiant_game\\%s\\Password", name.c_str());
        ofstream fout(buf);
        fout << NewPassword;
    }
    else
    {
        MessageBox(_T("确认密码错误"), _T("错误"), MB_OK);
    }
    // TODO: 在此添加控件通知处理程序代码
    CDialogEx::OnOK();
}
搜索更多相关主题的帖子: MFC 创建 文件夹 密码 错误 
2018-03-14 18:21
李昊逸Lion
Rank: 2
来 自:福州
等 级:论坛游民
威 望:2
帖 子:79
专家分:75
注 册:2017-8-1
得分:0 
NewName,NewPassword,Again都是文本框里输入的,分别是姓名,密码,确认密码
2018-03-14 18:23
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
两处Format的第二个参数应该是什么类型,char*,wchar_t*?
虽然我猜不出,但前后是不一致的
2018-03-14 20:01
李昊逸Lion
Rank: 2
来 自:福州
等 级:论坛游民
威 望:2
帖 子:79
专家分:75
注 册:2017-8-1
得分:0 
回复 3楼 rjsp
我感觉没什么区别,而且两个都没有作用
2018-03-16 18:14
李昊逸Lion
Rank: 2
来 自:福州
等 级:论坛游民
威 望:2
帖 子:79
专家分:75
注 册:2017-8-1
得分:0 
我自己去查了一些办法,最后有效的是这个
程序代码:
void Make::OnBnClickedOk()
{
    UpdateData(true);
    if (Again == NewPassword) {
        USES_CONVERSION;
        string name = W2A(NewName.LockBuffer());
        NewName.UnlockBuffer();
        string password = W2A(NewPassword.LockBuffer());
        NewPassword.UnlockBuffer();
        char buf[100],buf2[100];
        sprintf_s(buf2, "D:\\Valiant_game\\%s", name.c_str());
        CString   strFolderPath;
        strFolderPath=A2T( "D:\\Valiant_game"); 
            //   判断路径是否存在   
        if (!PathIsDirectory((LPCTSTR)strFolderPath))
        {
            CreateDirectory((LPCTSTR)strFolderPath, NULL);
        }
        strFolderPath=A2T(buf2);
        if (!PathIsDirectory((LPCTSTR)strFolderPath))
        {
            CreateDirectory((LPCTSTR)strFolderPath, NULL);
        }
        else
        {
            MessageBox(_T("此用户已注册"), _T("错误"), MB_OK);
        }
        sprintf_s(buf, "D:\\Valiant_game\\%s\\Password", name.c_str());
        ofstream fout(buf);
        fout << password;
    }
    else
    {
        MessageBox(_T("确认密码错误"), _T("错误"), MB_OK);
    }
    // TODO: 在此添加控件通知处理程序代码
    CDialogEx::OnOK();
}
2018-03-16 20:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-485272-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044008 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved