Befhel übergeben?
-
Hallo,
kann mir mal bitte jmd. erklären wenn eine Funktion ein CONST *char benötigt,
wie ich dieses char am besten deklarieren kann?char [20]Test; ???
wenn ich nun char einlese aus einer Datei und übergeben möchte, sind diese ja variabel,zwischen 10 und 20, wie mach ich das?
danke

-
:xmas2: bahnhof :xmas1:
-
Hi,
am Besten so:
#include <string> int main() { std::string s; // jetzt kommt das Zeug in s rein s = "Meine Daten"; // ... und so ruft man die Funktion auf: f(s.c_str()); // c_str() liefert die Daten als const char* zurückGruß,
Simon2.
-
kann mir mal bitte jmd. erklären wenn eine Funktion ein CONST *char benötigt,
wie ich dieses char am besten deklarieren kann?char [20]Test; ???
Naja... wie wäre es hiermit:
const char variable[20];ansonsten kann man später auch Typenwandeln:
reinterpret_cast<const *char>(&variable);dann, in die Funktion:
func1(variable);
- nicht getestet.
-
Wenn eine Funktion einen "const T *" (T = beliebiger Typ) erwartet, bedeutet das nicht unbedingt, daß der übergebene Wert konstant sein muß - er wird nur von der Funktion nicht verändert.
Aber für Strings sollte man in C++ am besten nur std::string verwenden
(siehe Simon2)
-
Oh, sry hab den zweiten Satz nicht gelesen
Ja, dann stimmts nadürlich, die string- sache. Soll ja "Variabel" sein. Außerdem finde ich, dass man nach diesem Text nicht eindeutig sagen kann, was die funktion wirklich will, z.b.: wenn Funktion: "unsigned char funktion(const *char)" lauten würde, hätte ich recht gehabt :D(,oder?)