我有一个包含字符和数字数据的数据文件data.txt。
通常我通过使用文件流来读取程序中的 data.txt
ifstream infile("C:\\data.txt",ios::in);
然后使用 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));
但是我该如何阅读单独的行呢?不知何故,我无法阅读单独的行。我似乎无法将一条线与另一条线区分开来。
最佳答案
我可以给你一个解决方法,如果你不想担心文件的路径,你可以: - 将你的文件添加到你的项目中 - 添加构建后事件以将 data.txt 文件复制到构建文件夹中。
关于c++ - 将数据文件包含到 C++ 项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22151099/