c++ - 我得到相互矛盾的答案,我应该如何处理我的代码?

标签 c++ text directx

我正在用 C++ 和 DirectX 制作 RPG 游戏。

我将游戏的所有数据存储在 .txt 文件中,并使用 `ifstream/ofstream 读取/写入它。到目前为止,在谈论生物统计数据时这对我来说效果很好,而且我对生物名称也很了解,但这正在成为一个问题。

我可以将字符串存储在 txt 文件中并读取它们,但我在使用它们时遇到了问题。对于单个单词,我有一个技巧,但现在我已经了解了角色相互交谈的故事情节,这是一个真正的问题。

我在 gamedevelopment.stackexchange 上询问如何在屏幕上放置文本,并被告知使用 D3Dtext,但它只接受 C 风格的字符串,而且我只能从文本文件中读取 C++ 字符串。现在这是一个大问题,我愿意回去重新考虑需要坐的地方,因为在解决这个问题之前无法取得任何进展。

所以现在我有一堆问题,我不知道先问哪个:

  1. 我想要一种像图形一样绘制字母的方法。有人告诉我这是 D3Dtext 的作用,但如果可以的话我想自己实现它我只需要有关如果有人知道如何实现的信息?

  2. 如果我要像所谓的专家建议的那样使用 D3Dtext,我必须使用 C 风格的字符串。那么如何将 C 风格的字符串转换为 C++ 字符串呢?我现在有一个方法,但它需要为每个字符串使用 new 和 delete 运算符,而且随着它的复杂性增加,我可以看到这是一个大问题?

  3. 有没有办法读取 C 风格的字符串?也许是 ifstream 的替代品。我想保留 txt 文件,因为我真的不想使用 xml,但如果这是一个可行的解决方案,我可以更改文件格式吗?

  4. 我知道过早的优化,但我计划对游戏中的每段文本使用相同的函数,所以在速度方面这样做的好方法是什么(为什么我不想为每个文本都新建/删除字符串)?

我很乐意提供任何需要帮助我的信息,尽管问。

最佳答案

std::string mystr = "Hello World.";
mystr.c_str(); // gets a null terminated const char* C-style string

如果您需要像上面那样访问 c 字符串,请像您当前正在做的那样阅读您的文件。

关于c++ - 我得到相互矛盾的答案,我应该如何处理我的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7040985/

相关文章:

javascript - 如何使用按钮显示表单中的文本?

windows - DirectX 应用程序中 Alt-Tab 支持的最佳实践?

c# - 命名空间 'directx' 中不存在类型或命名空间名称 'microsoft'

c++ - 在 DirectX 中显示视频

C++ 将结构属性设置为自己的地址

C++客户端socket同时连接

c++ - 尝试在玩家死亡时切换纹理(OpenGL + C++)

c++ - 在 Tensorflow C++ API 中初始化变量

javascript - 输入字段到文本输出

文本搜索中的 MongoDB 溢出排序阶段