我有一个名为data.txt的数据文件,其中包含字符和数字数据。
通常我使用文件流(如
是否有任何方法可以将data.txt文件包含到项目中并与项目一起编译,以便在读取文件时不必担心文件路径(我的意思是只需使用像
此外,如果我能够将文件与项目一起编译,我就不必担心向任何想要使用我的程序的人提供单独的data.txt文件。
我不想将data.txt文件更改为某种头文件。我想保留.txt文件,并在正在构建的可执行文件中打包它。我仍然想继续使用
我正在使用C++ Visual Studio 2010。 如果有人能够提供一些关于我试图做的事情的见解,那就太好了。
更新 我成功使用下面的代码将数据文件读入资源。
ifstream infile("C:\\data.txt",ios::in);
)在我的程序中读取data.txt,然后使用infile.getline
读取值。是否有任何方法可以将data.txt文件包含到项目中并与项目一起编译,以便在读取文件时不必担心文件路径(我的意思是只需使用像
ifstream infile("data.txt",ios::in)
这样的东西)。此外,如果我能够将文件与项目一起编译,我就不必担心向任何想要使用我的程序的人提供单独的data.txt文件。
我不想将data.txt文件更改为某种头文件。我想保留.txt文件,并在正在构建的可执行文件中打包它。我仍然想继续使用
ifstream infile("data.txt",ios::in)
并从文件中读取行,但希望data.txt文件与项目一起,就像任何其他.h或.cpp文件一样。我正在使用C++ Visual Studio 2010。 如果有人能够提供一些关于我试图做的事情的见解,那就太好了。
更新 我成功使用下面的代码将数据文件读入资源。
HRSRC hRes = FindResource(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_TEXT1), _T("TEXT"));
DWORD dwSize = SizeofResource(GetModuleHandle(NULL), hRes); HGLOBAL hGlob = LoadResource(GetModuleHandle(NULL), hRes);
const BYTE* pData = reinterpret_cast<const BYTE*>(::LockResource(hGlob));
但是我如何阅读分开的行呢?我无法分辨每一行,看起来它们都一样。
resource
.rc
文件可以实现你所需要的功能。这就是我如何将图像和图标打包成 Visual C++ 程序的方式。http://msdn.microsoft.com/en-us/library/7zxb70x7.aspx - zero298"
这样的特殊字符怎么办? - πάντα ῥεῖ