Turbo C++的字符串问题
String problems with Turbo C++
我需要在Turbo C++中编写代码。但是数据类型string
不起作用;使用名称空间std
会导致编译器错误,如果没有它,我就无法使用string
。即使是std::string
也不起作用。
它在Code::Blocks中运行得非常好,但我希望它能在Turbo C++中运行。我知道Turbo是一个非常旧的编译器,我应该使用新的。但这是一个必须用Turbo C++完成的大学项目。有什么方法可以让它在Turbo C++中工作吗?
这取决于您拥有的Turbo C++的版本。一些软件考古学:
3.1以前的DOS版本不支持STL,也不支持#include <string>
。他们使用了带有.h扩展名的预标准include格式:#include <string.h>
等。尝试添加一个.h
,你可能会很幸运。
在版本4或5.0前后,他们开始支持#include <string>
头格式和大部分STL。这些仍然是标准前的编译器。
STL支持在早期版本的BorlandBuilder中仍然存在问题,直到Builder5左右。这应该是BCC编译器的5.5版本左右。
RAD工具Turbo C++于2005年左右发布,应该完全支持C++98。
Turbo C++不支持名称空间。
我认为您需要包含cstring.h
,并且不要使用任何名称空间,甚至不要使用using
指令。
#include <cstring.h>
我认为它也不支持模板。
绝对没有办法让现代C++代码在Turbo C++中按原样工作。很多代码都需要重写。
turbo c++中没有std::。没有名字。没有模板。我们所知道的标准库很少。基本上,你必须忘记你所知道的关于C++的大部分内容。类和函数主要起作用。如果#include <iostreams.h>
(注意.h(并省略std::
,Iostreams可能会在一定程度上起作用。否则,您几乎只能使用C标准库。
如果你需要一个字符串类,你可能必须自己制作。
仔细阅读内置的帮助,检查包含的示例程序,你可能会成功
请注意,该产品的后续版本(不称为Turbo C++IIRC,而是Borland C++或Borland Builder(改进了对C++98的支持,包括标准库。
我遇到了同样的问题,然后我意识到我忘记了using namespace std
,这解决了一切。
您可以使用字符数组来代替字符串。例如,我们需要将变量str声明为字符串。它可以简单地做为:
char a[10]; // the 10 is the size of the array.
包含一个单独的头文件以使用库函数。
好吧,经过一番折腾,我找到了办法。不幸的是,您不能使用string
和其他这样的数据类型,因为它们在当时甚至还没有实现。你需要做以前常做的事。使用char
数组而不是string
,并创建与之相关的函数
现在char
阵列有很多局限性和问题,这就是实现string
的原因。但是,您必须以从头开始编写string
的方式编写char
数组函数
如果要比较或复制两个char数组,则必须循环并比较它们。这会有点复杂,但这是对我来说最好的方法。
如果需要,我可以为某个任务提供一些示例代码。
- 编译包含字符串的代码时遇到问题
- setlocale的C++土耳其字符串问题
- 当我尝试添加 2 个大字符串时,我无法弄清楚出了什么问题
- 使用自定义比较函数使用std::sort()对矢量字符串进行排序时出现问题
- 我的逻辑反转字符串中的元音有什么问题?
- 按字母顺序对C++问题中的子字符串索引进行分区
- 用户输入字符串的文件附加问题..C++
- 使用 minijson-reader 库读取 JSON 字符串时出现问题
- 在将字符串放入字符串向量时遇到问题?
- 将文件复制到自定义位置,存在字符串转换问题
- 从 argv[1] 转换为字符 * 字符串后有什么问题?
- 不确定出了什么问题(字符串输入)
- 反向和计数字符串的 C++ 问题
- 反转具有返回值的字符串时出现问题
- C++字符串问题-如何访问字符串元素
- public:静态常量字符串声明/初始化问题
- 在MySql中使用字符串操作函数有什么问题
- Libwesockets.h:lws_write:C++字符串到C的转换和发送问题
- 问题:字符串在另一个字符串上写入
- 日志文件输出的问题-字符串和c_str之间的差异- c++