Turbo C 的字符串问题

新手上路,请多包涵

我需要让代码在 Turbo C++ 中工作。但是数据类型 string 不起作用; using namespace std 给出编译器错误,我不能使用 string 没有它。即使 std::string 也不起作用。

它在 Code::Blocks 中运行良好,但我希望它在 Turbo C++ 中运行。我知道 Turbo 是一个非常古老的编译器,我应该使用新的编译器。但这是一个必须在 Turbo C++ 中完成的大学项目。有没有办法让它在 Turbo C++ 中工作?

原文由 user49557 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 542
2 个回答

好吧,经过一番折腾,我找到了方法。不幸的是,您不能使用 string 和其他此类数据类型,因为它们当时甚至没有实现。你需要做以前做过的事情。使用 char 数组而不是 string 并创建与之相关的函数。

现在 char 数组有很多限制和问题,这就是实现 string 的原因。但是你必须写 char 数组功能相同的方式 string 是从头开始编写的。

如果要比较或复制两个 char 数组,则必须循环并比较它们。它会有点复杂,但这是对我有用的最好方法。

如果需要,我可以为某个任务提供一些示例代码。

原文由 user49557 发布,翻译遵循 CC BY-SA 4.0 许可协议

这取决于您拥有的 Turbo C++ 版本。一些软件考古:

直到 3.1 的古代 DOS 版本都不能很好地支持 STL,也不支持 #include <string> 。他们使用带有 .h 扩展名的预标准包含格式: #include <string.h> 等。尝试添加 .h 你可能会很幸运。

在版本 4 或 5.0 左右,他们开始支持 #include <string> 标头格式和大部分 STL。这些仍然是标准前的编译器。

在早期版本的 Borland Builder 中,STL 支持仍然存在问题,直到 Builder 5 左右。那应该是 BCC 编译器的 5.5 版左右。

RAD 工具 Turbo C++ 于 2005 年左右发布,应该完全支持 C++98。

原文由 Lundin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题