Char Array-Addresse in einen Pointer schreiben
-
Hi, Ich möchte die Addresse eines Char arrays in einen Pointer schreiben, aber ich bekomme den fehler:
sdown/Netzwerk.h:137: cannot convert `char (*)[1024]' to `char*' in assignment
Die Zeile in der Ich das machen will sieht so aus:
strcpy(dastr, &Buffer);
Was mach ich Falsch?
-
versuchs doch mal mit
strcpy(dastr, Buffer);
-
sdown/Netzwerk.h:119: invalid conversion from `char' to `char*'
...
-
dann ist 'Buffer' bei dir nur ein char.
Du solltest schon ein Array nehmen oder eben gleich std::string
-
Also deklariert/definiert (hab kein peil was hier korekkt ist...) wurde Buffer mit
char Buffer[1024];
Ist das kein Array? Giebts da ein unterschied bei chars?
Initialiesiert wird er mitrecvfail = ::recv(ACSocket, Buffer, (sizeof(Buffer)) , 0);
, also er nimmt einen über Netzwerk gesendetetn string auf, der wird aber als void* übergeben, kann das das Problem sein?
-
also dein Buffer ist schon ok.
Dann liegt es vielleicht doch an 'dastr'
Also, es müsste ungefähr so aussehen:char Buffer[1024]; char dastr[1024]; // oder eben char* datsr = new char[1024]; // irgendwas in Buffer reinschreiben... strcpy (dastr, Buffer);
So müsste das funzen.
[ Dieser Beitrag wurde am 04.04.2003 um 15:52 Uhr von Honk editiert. ]
[ Dieser Beitrag wurde am 04.04.2003 um 15:53 Uhr von Honk editiert. ]
-
1. hast du das ; vor dem Kommentar vergessen ^^
2. Ist dastr ein Parameter, und soll deshalb nicht auf einen Allokierten speicherbereich, sondern auf einen normalen CHAR Array zeigen...
-
Hallo,
ich hoffe mal, ich hab die Frage richtig verstanden. Wenn Du die Ardesse eines chararrays in einem Zeiger speichern willst, dann ganz einfach mit '='. Die Adresse ist ja nur eine Ganzzahl.
Bsp.
char *zeiger = chararry;
ansonsten stellt ein array ohne '[]' die Adresse des arrays dar.
grüße Con@n
-
1. Ich hab's jetzt hingekriegt, ich hatte beim rumprobieren die Parameterliste verhobel.
2. Die Addresse wird bei einer Funktion als Parameter bei dem Funktionsaufruf übergeben, dieser aufruf,void func(char *prt) { /*kruscht*/ } func(variable)
endspricht
prt = variable.