c++ - 将数据文件包含到 C++ 项目中

标签 c++ visual-studio-2010 text-files

我有一个包含字符和数字数据的数据文件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/

相关文章:

c++ - 最好是更新一个小的顶点缓冲区,还是发送一个制服?

visual-studio-2010 - Visual Studio 2010 中的属性窗口字体

windows - 批处理文件:从串行端口接收数据并将其写入 txt 文件

python - 两个哈希的比较算法

java - bufferedReader readline=null

c++ - 从字符串 vector 中删除空元素

c++ - 在基于 C++ 范围的 for 循环中获取当前元素的索引

c++ - C4711 "function selected for inline expansion"Visual C++ 警告有什么用?

c# - 如何从浏览器调用 WCF 服务 OperationContract?

visual-studio-2010 - 不添加 SQL Server Express 就无法安装 Visual Studio Express