C++ nach C konvertieren.
-
Hallo,
ich hab hier ein paar code stücke die ich nicht konvertiert kriege, leider. Vielleicht kann mir da jmd helfen...
ifstream inputFile( filename, ios.in | ios::binary | ios::nocreate);Hier kriege ich probleme mit dem ios. Kann man das umschreiben das ios nicht mehr benötigt wird?
long fileSize = inputFile.tellg(); byte *pBuffer = new byte[fileSize]; inputFile.read( pBuffer, fileSize );Das klappt auch nicht da kriege ich den fehler das byte* nicht nach char* konvertiert werden kann. Wäre prima wenn mir da jmd helfen könnte óò.
Vielen Dank!!
Yumi
-
MissYumi schrieb:
...
ifstream inputFile( filename, ios.in | ios::binary | ios::nocreate);...
Ist das ios . in" ein Tippfehler ? Auf jeden Fall für einen ifstream überflüssig.
Wer oder was ist "byte" ?
Gruß,
Simon2.
-
C++ nach C?
FILE* pFile = NULL; pFile = fopen(filename, "rb"); fseek(pFile, 0, SEEK_END); long size = ftell(pFile); fseek(pFile, 0, SEEK_SET); unsigned char* data = (unsigned char*)malloc(size); fread(data, sizeof(unsigned char), size, pFile); fclose(pFile); printf("%s", data); free (data);...
-
Erste Sahn Simon2. Hat super funktioniert. Ich bin nähmlich gerade dabei ein PC projekt auf eine Console zu konvertieren. Und daher von C++ nach C.
Hier mein nächstes Problem:
Model::Model() { } Model::~Model() { }Ich krieg da den Fehler undefined reference. Bin nichtmal sicher ob das so wichtig is. Habt ihr da vlt noch ne Idee?

-
Ich bin nähmlich gerade dabei ein PC projekt auf eine Console zu konvertieren. Und daher von C++ nach C.
Man kann man viel Mist labern ^^
Wusste garnicht das es die Filestream's ausm C++ Standard auch im C Standard gab ... hab ich was verpasst ^^
-
Hi,
falls Deine Kon-/Destruktoren wirklich leer sind, brauchst Du sie gar nicht anzulegen (also auch aus der Klassendefinition raus).
Ansonsten reichen die gegebenen Informationen (Source, Fehlermeldung) nicht aus, um da eine Aussage zu treffen.
HAAAALLTTT !!!!!
Jetzt nicht 5000 Zeilen Code und/oder Compileroutput posten, sondern ein "abgestripptes" Beispiel (möglichst so, dass das Beispiel an sich schon den Fehler liefert).
Gruß,
Simon2.
-
Simon2 schrieb:
Auf jeden Fall für einen ifstream überflüssig.
Wenn man mehrere Flags wie ios::binary mit einhängen will, ist ios::in nötig

-
Hab ich was verpasst?
Das Projekt ist in C++ da war das mit dem filestream drinne und ich mache daraus gerade ein C projekt...
Warum werde ich so angefahren?
-
hmm in C gibt es keine filestreams ... nur eine struct FILE ... und passende Funktionen dazu ... Klassen gibt es auch nicht ^^ also ...
-
Das mit dem konstruktor hat sich denke ich erledeigt ich hatte im Makefile ein fehler drinne. Hatte datei vergessen. Muss noch ein strlen ersatz finden weil er meckert das er das nich kennt. Denke dann habe ich es. Hoffe ich zumindest ^^
@Devil eben in C gibt es keine filestreams ergo habe ich jmd geben mir das zu konvertieren. Also alles bestens oder?!
-
Hab die string.h eingebuden. Fehler beseitigt. Weitere folgen bestimmt noch ^^.
-

Willst du wirklich C++ bzw. C können, dann empfehle ich dir ein ordentliches Buch zuzulegen und daraus zu lernen.
-
Hast du mal versucht ob der C-Compiler (für die Konsolen-Plattform) mit dem (generierten) C-Source vom Comeau Compiler zurecht kommt? Dann könntest du dir uU die mühsame Portierarbeit von C++ nach C ersparen.
-
Nein noch nicht, aber vielen Dank.
-
@MissYumi: entweder du lügst wie gedruckt, oder du weisst nicht wovon du redest (=du arbeitest in Wirklichkeit mit einem C++ Compiler und hast als Ausgangspunkt kein C++ Programm sondern ein C++ Gemurks mit lauter Fehlern drin).