AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

wo ist ofstream deklariert?

Ein Thema von zeras · begonnen am 20. Mär 2012 · letzter Beitrag vom 5. Apr 2012
Antwort Antwort
Robotiker
(Gast)

n/a Beiträge
 
#1

AW: wo ist ofstream deklariert?

  Alt 21. Mär 2012, 08:53
Einmal steht das was von fstream.h drin. Das habe ich schon in fstream geändert. Nun wird aber immer ofstream angemeckert.
Die Verwirrung dürfte daher rühren, dass dein Code etwas älteres C++ ist. Die Header mit dem .h sind aus der Zeit vor dem (1998er-) ISO-Standard. Das waren zeichenbasierte Streams, die neueren sind stringbasiert. Die Schnittstellen der Klassen dürften weitestgehend kompatibel sein, aber es gibt da sicher ein paar feine Unterschiede.

Geändert von Robotiker (21. Mär 2012 um 09:13 Uhr)
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#2

AW: wo ist ofstream deklariert?

  Alt 21. Mär 2012, 18:02

Die Verwirrung dürfte daher rühren, dass dein Code etwas älteres C++ ist. Die Header mit dem .h sind aus der Zeit vor dem (1998er-) ISO-Standard. Das waren zeichenbasierte Streams, die neueren sind stringbasiert. Die Schnittstellen der Klassen dürften weitestgehend kompatibel sein, aber es gibt da sicher ein paar feine Unterschiede.
Ja, der Code scheint schon alt zu sein.
Würde es da was bringen, wenn ich mir Visual C++ 6 zulege? Bei ebay gibt es günstige Bücher, wo das Programm mit beiliegt. Vielleicht würde ich da eines kaufen.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Robotiker
(Gast)

n/a Beiträge
 
#3

AW: wo ist ofstream deklariert?

  Alt 22. Mär 2012, 07:42
Hallo,

Ja, der Code scheint schon alt zu sein.
Dann werden wahrscheinlich alle VC++ Versionen ab 2002 und alle C++ Builder Versionen ganz ähnliche Fehler melden.

Würde es da was bringen, wenn ich mir Visual C++ 6 zulege?
Uggs, so eine Frage in einem Delphi-Forums.
Die Frage ist, was man da kriegt. Das Teil hatte 6 Service-Packs und stellt damit immer noch XE2 locker in den Schatten. Wirklich benutzen kann man es erst von SP3 an.

Normalerweise sollten aber alle diese Unterschiede, wenn man sich halbwegs in C++ auskennt, behebar sein. Ich habe schon mal Code von Borland C++ 4.52 (1994) nach VC++ 2008 portiert, das ist nicht so schwierig.

Wenn das kein Code ist, der Bibliotheken wie die MFC verwendet, sollte das übrigens auch mit der VC10 Express-Version gehen.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#4

AW: wo ist ofstream deklariert?

  Alt 22. Mär 2012, 19:29

Dann werden wahrscheinlich alle VC++ Versionen ab 2002 und alle C++ Builder Versionen ganz ähnliche Fehler melden.

Würde es da was bringen, wenn ich mir Visual C++ 6 zulege?
Uggs, so eine Frage in einem Delphi-Forums.

Wenn das kein Code ist, der Bibliotheken wie die MFC verwendet, sollte das übrigens auch mit der VC10 Express-Version gehen.
Ich möchte den Code nur von C++ nach Delphi portieren. Und da ich von C++ nicht viel Ahnung habe, wollte ich durch die Routinen debuggen und schauen, was diese machen.
Ich arbeite fast ausschließlich in Delphi und das soll auch so bleiben.

Offensichtlich geht es nicht mit den Express Versionen, da es dort keine Bibs wie stdafx.h etc. gibt.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#5

AW: wo ist ofstream deklariert?

  Alt 22. Mär 2012, 19:39
Nun habe ich using namespace std eingebunden, aber die Fehlermeldungen hören nicht auf. Jetzt kommt beispielsweise error 'sh_read': Ist kein Element von 'std::basic_filebuf<_Elem,_Traits>'. Was immer das auch heißen mag.
Wenn ich die richtige C++ Version hätte, dann dürften doch keine Fehlermeldungen kommen. Das war mein Ziel. Erst mal alles compilieren und dann die Funktionen durchsteppen und dann in Delphi nachbauen.
Vielleicht kann ich eine Version 6 bei ebay kaufen und dann geht es??
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Robotiker
(Gast)

n/a Beiträge
 
#6

AW: wo ist ofstream deklariert?

  Alt 23. Mär 2012, 07:27
Ok,

dass ist das, was ich vermutet habe.

Die Vererbungshierarchie hat sich geändert, Parameter haben sich von char* nach std::basic_string<T> geändert usw.

Die aktuelle Struktur ist hier gut zu sehen
http://www.cplusplus.com/reference/iostream/
Da die alte seit mittlerweile 14 Jahren obsolet ist, wird das mit der Doku schwierig.

sh_read klingt nach einem Implementierungsdetail einer Library eines bestimmten Compilers. Ist mir noch nicht begegnet.

Könnte kompliziert werden, das nach Delphi 5 umzusetzen. Irgendwie bist du ein Jahrzehnt zu spät dran.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#7

AW: wo ist ofstream deklariert?

  Alt 23. Mär 2012, 17:19

Könnte kompliziert werden, das nach Delphi 5 umzusetzen. Irgendwie bist du ein Jahrzehnt zu spät dran.
Danke für die Info.
Ich möchte ja nur einige Teile nach Delphi 5 umsetzen. Dazu wollte ich das Projekt unter C++ zum Laufen bekommen, um dann zu schauen, wie das gemacht ist. Das Ergebnis kenne ich so ungefähr, wollte aber auf Nummer sicher gehen.
Meine Frage steht dann nach wie vor. Wenn ich Visual C++ 6 bei ebay kaufe, dann versuche, das Programm zum Laufen zu bekommen, dann die entsprechenden Routinen in Delphi umsetzen und dann C++ wieder löschen. Das wäre meine Idee, aber erst mal muss ich es compilieren können.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz