char handling
-
Das hat leider keine Auswirkung auf das Problem.
-
daishi schrieb:
Das hat leider keine Auswirkung auf das Problem.
Hm, und <iostream> statt <iostream.h>? Ansonsten poste mal ein Minimalbeispiel, in dem es nicht geht.
-
So, hier nun wie erbeten ein kleines Beispiel:
#include <stdio.h> #include <stdlib.h> #include <string> using namespace std; ... int main(int argc, char* argv[]) { string s1("hallo welt"); cout<<s1<<endl; return 0; }
-
#include <iostream>
brauch ich zumindest fuer cout und endlschenk dir dafuer stdio.h ...
Ciao ...
-
<stdlib.h> kann in dem Beispiel genauso weg. Und wenn schon stdlib und stdio, dann bitte <cstdlib> und <cstdio>
-
Danke für die netten Ratschläge, was ich denn includen soll.
Um weitere Bemerkungen zu verhindern, folgt hier der komplette def-Teil.#include "stdafx.h" #include"test.h" #include <stdio.h> #include <stdlib.h> #include <iostream.h> #include <vector> #include <malloc.h> #include <string> #include <CString> using namespace std; #include <math.h> #include <cstdlib> #include <cstdio> #define PI 3.1415926535897932384626433832795 #define MAX_REAL 1.7976931348623158e+308 // größte pos. Zahl #define DBL_EPSILON 2.2204460492503131e-012 // kleinste positive Zahl x, bei der x+1.0 nicht gleich 1.0 ist. #define Real double
Das Problem besteht weiterhin.
-
daishi schrieb:
Danke für die netten Ratschläge, was ich denn includen soll.
Schade, dass du sie nicht befolgt hast...
#include <iostream.h>
-
?
Was soll die iostream? Die ist schon mit drin (5. Zeile von oben).
Und ob ich es mit .h schreibe oder ohne hat keine Auswirkungen.
-
/bonk daishi
Was soll die iostream
Lies greundlicher !
#include <iostream.h> -> #include <iostream>
Hintergrund:
iostream.h ist ne Headerdatei, die dir Kompatibilitaet zu C++ code aus frueheren zeiten ermoeglicht. Aus Zeiten, wo es noch keine namespaces gab.
deshalb, includest du iostream.h, liegt cin,cout,cerr etc nicht im namespace std sondern im globalen.
Fuer neue programme ist das schlecht !fuer neuere gibt es die iostream (ohne .h ) da liegt alles schoen sortiert im namespace std.
Und wenn nicht jeder gleich std in den globalen namenspace einbinded, mittels using namespace std; dann macht das sogar sinn, weil man nen extra Qualifier fuer die Objecte nun hat ! :p
Naja, fuer cin, cout, cerr eher weniger, da wird es keine weiteren definitionen geben, aber fuer allgemeinere dinge wie string list map etc ist das nen Vorteil, weil ist doof wenn fuer jede spezielle map nen die selbst entwickelst nen neuen namen suchen musst :pCiao ...
-
@RHBaum
Ja, ich sollte lesen lernen.
Jetzt geht.
-
Ok, dann weiter ...
naechster Schritt, alle nicht benoetigten header entfernen ...
Ich glaub C++ STL und malloc vertragen sich ned so richtig, zumindest fuer nicht-Profis. Ich nehm mal an, Du willst keine klasse mit eigener Speicherverwaltung (new operator selbst definieren) entwickeln ...
Ciao ...
-
Die anderen includes müssen drin bleiben, ich brauchte nur eine Möglichkeit, wie ich die Daten aus einer Datei in einen String schreiben und dann für den jeweiligen Bedarf manipulieren kann.
Das (böse böse)malloc brauche ich, um meine Datenstruktur den Bedürfnissen anzupassen. (new ist zu umständlich, da dort kein realloc vorhanden)
-
Hi,
dann nimm doch statt deinem Array ein std::vector<>. Da kannst Du die größe auch beliebig anpassen, und musst nicht mit malloc hantieren.
grüße Con@n
-
Warum ich malloc nehme hatte ich schonmal in einem anderen Beitrag geklärt, da ging es um die Geschwindigkeit und die Handhabung.