在MFC当前目录下创建ini文件

问题描述 投票:0回答:2

问题是我不想在ini文件中写入任何细节。我只想在当前目录或另一个目录中创建一个 ini 文件,例如在主 .exe 所在的调试文件夹中。

//CIniWriter iniWriter("Logger.ini");
void CIniWriter::Init(char* szFileName)
{

    memset(m_szFileName, 0x00, 255);
    memcpy(m_szFileName, szFileName, strlen(szFileName));
}

知道如何做到这一点吗?

c++ winapi mfc
2个回答
1
投票

调用

GetCurrentDirectory
获取您的应用程序的路径
CreateFile
创建实际文件。

TCHAR currentDir[MAX_PATH];
TCHAR iniFile[MAX_PATH];
GetCurrentDirectory( MAX_PATH, currentDir );

_stprintf(iniFile,_T("%s\\iniFile.txt"),currentDir);

HANDLE hFile = CreateFile( iniFile,GENERIC_WRITE, FILE_SHARE_READ,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

0
投票

在MFC(不是Windows)方式中创建空文件的最简单方法是:

{
    CFile f( szFileName, CFile::modeCreate);
}

它将使用 CFile 的构造函数创建文件。它将关闭文件并在退出块时释放 CFile 类,因此可以在代码的其他部分打开并填充数据。

引用MFC文档中关于CFile::modeCreate的内容:

如果不存在文件,则创建一个新文件。如果文件已存在,则会覆盖该文件并初始设置为零长度。

我希望它回答了你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.