2016-11-03 7 views
0

Ich brauche Code-Arbeit in Turbo C++. Aber der Datentyp string funktioniert nicht; mit Namespace std gibt Compilerfehler und ich kann string ohne es nicht verwenden. Selbst std::string funktioniert nicht.String Probleme mit Turbo C++

Es funktioniert perfekt in Code :: Blocks, aber ich will es in Turbo C++ arbeiten. Ich weiß Turbo ist ein sehr alter Compiler und ich sollte die neuen verwenden. Aber es ist ein College-Projekt, das in Turbo C++ gemacht werden muss. Gibt es irgendwelche Möglichkeiten, um es in Turbo C++ funktionieren zu lassen?

+12

Turbo C++ ist * alt *, uralt wirklich. Am wichtigsten ist es von vor C++ war standardisiert, und so nicht die Standard-Header oder den Standard-Namespace. Wenn Sie Turbo C++ verwenden müssen, müssen Sie die vordefinierten Klassen und Header kennen. Ihre beste Chance ist es, ein altes Buch von Anfang bis Mitte der 90er Jahre zu ergattern. Und dann musst du mit dem Wissen leben, dass vieles von dem, was du lernst, in Zukunft nicht wirklich nützlich sein wird, es wird Zeitverschwendung sein. –

+0

ich weiß, ich muss diese Arbeit für jemanden tun, der es in Turbo C++ getan – user49557

+0

@George yeah ich tat – user49557

Antwort

-1

Ok Nach einer Menge Arbeit gefunden: Sie Way
Unforutantely Sie schräg Verwendung String und andere Datentypen, wie sie waren auch zu dieser Zeit nicht
das, was Sie brauchen Implenented ich tun Was vor diesem Geschehen verwendet Zeit
Verwenden Char-Array anstelle von String und Literacy erstellen Funktionen im Zusammenhang damit,

Jetzt Char Array hat eine Menge Einschränkungen und Probelms das ist der Grund String wurde implementiert. aber Sie haben zu schreiben char-Array functons die gleiche Weise String geschrieben wurde von Grund auf neu

Wenn Sie 2 char-Arrays vergleichen möchten Sie eine Schleife haben und vergleichen sie Und zwei kopieren Sie eine Schleife haben und vergleichen sie es sein litte kompliziert, aber das ist der beste Weg für mich gearbeitet

ich kann Beispielcode für bestimmte Aufgabe geben, wenn

benötigt
3

Diese Art von hängt davon ab, welche Version von Turbo C++ Sie haben. Einige Softwarearchäologie:

Alte DOS-Versionen bis zu 3.1 unterstützten STL nicht gut, noch unterstützten sie #include <string>. Sie verwendeten die Vor-Standard-Include-Formate mit .h-Erweiterungen: #include <string.h> usw. Versuchen Sie, eine .h hinzuzufügen, und Sie könnten Glück haben.

Irgendwo um Version 4 oder 5.0 begannen sie #include <string> Header-Formate und die meisten von STL zu unterstützen. Dies waren immer noch Standard-Compiler.

STL Unterstützung blieb in früheren Versionen von Borland Builder, bis irgendwo um Builder 5 fraglich. Das sollte Version 5.5 oder so der BCC-Compiler sein.

Das RAD-Tool namens Turbo C++, das etwa 2005 veröffentlicht wurde, sollte volle Unterstützung für C++ 98 bieten.

2

Turbo C++ unterstützt keine Namespaces.

Ich denke, Sie müssen cstring.h und keine Namespaces oder sogar die using Richtlinie verwenden.

#include <cstring.h> 

Und ich glaube nicht, dass es auch Vorlagen unterstützt.

+0

'cstring' dient für nullterminierte Strings (aka C-Strings), nicht' std :: string'. OP muss vielleicht den ganzen Code neu schreiben, um C-Strings anstelle von 'std :: string' zu verwenden. – Melebius

+2

@Melebius - cstring.h, nicht cstring. – user93353

+0

Ich bin mir ziemlich sicher, dass es string.h war. cstring.h gibt dir nicht std :: string. – Lundin

1

Es gibt überhaupt keine Möglichkeit, modernen C++ - Code in Turbo C++ so zu machen, wie er ist. Viele davon müssen neu geschrieben werden.

Es gibt nichts std :: in Turbo C++. Es gibt keine Namensoße. Es gibt keine Vorlagen. Es gibt sehr wenig von dem, was wir als Standardbibliothek kennen. Im Grunde genommen müssen Sie das meiste von dem, was Sie über C++ wissen, verlernen. Klassen und Funktionen funktionieren meistens. Iostreams können etwas arbeiten, wenn Sie #include <iostreams.h> (beachten Sie die. H) und std:: weglassen. Ansonsten sind Sie ziemlich auf die C-Standardbibliothek beschränkt.

Wenn Sie eine String-Klasse benötigen, müssen Sie wahrscheinlich eine eigene erstellen.

Treten Sie vorsichtig durch, lesen Sie die integrierte Hilfe, untersuchen Sie die mitgelieferten Beispielprogramme, und Sie können sie möglicherweise ausführen.

Beachten Sie, dass spätere Versionen des Produkts (nicht Turbo C++ IIRC, sondern Borland C++ oder Borland Builder) die Unterstützung für C++ 98 einschließlich der Standardbibliothek verbessert haben.

-1

anstelle von String Sie die Zeichen-Array verwenden können. Zum Beispiel müssen wir die Variable str als String deklarieren. Es kann einfach wie folgt ausgeführt werden:

char a[10]; // the 10 is the size of the array. 

Eine separate Header-Datei ist enthalten, um die Bibliotheksfunktionen zu verwenden.