Problem mit strcpy und strtok
-
Hallo!
Folgendes Problem:
*'strcpy' : Konvertierung des Parameters 1 von 'struct _iobuf *' in 'char ' nicht moeglich
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder FunktionsformatDer Fehler tritt in Folgender Zeile auf:
pToken = strtok(NULL, " ");Wär klasse wenn ihr mir helfen könntet.
Greetz
THE_FreaKchar* copy (char* clientsend) { FILE *quelle, *ziel; char nameq[50],namez[50]; int c; char *pToken = strtok(clientsend, " "); if (pToken) { pToken = strtok(NULL, " "); strcpy(quelle,*pToken); } pToken = strtok(clientsend, " "); if (pToken) { pToken = strtok(NULL, " "); strcpy(ziel,*pToken); } if((quelle=fopen(nameq,"rb"))==NULL) { return "\nKonnte Datei nicht finden bzw. oeffnen!\n"; } else if((ziel=fopen(namez,"w+b"))==NULL) { return "\nKonnte Zieldatei nicht erzeugen!\n"; } while((c=getc(quelle)) != EOF) { if(putc(c,ziel)==EOF) { return "\nFehler beim Schreiben der datei!\n"; } } return "OK"; }
-
strcpy(quelle,*pToken);
dereferenziere nicht das was du nicht dereferenzieren solltest
pToken ist ein char*, wenn du es dereferenzierst erhälst du ein ... char, strcpy erwartet aber ein char* (const char * restrict um genau zu sein, dass ist aber nicht so wichtig)
(nebenbei solltest du lieber ein const char* zurückliefern, wenn du Konstanten zurückgibst)
[ Dieser Beitrag wurde am 28.02.2003 um 21:03 Uhr von kingruedi editiert. ]
-
versteh ich nochnicht so ganz...
Also ich muss auf jedenfall die adresse an strcpy übergeben, richtig?!
=> strcpy(quelle,pToken);So, da hat er aber immernoch den selben fehler.
kanns sein das die Zeile davor auchnoch nen Fehler mit reinbolzt?
-
der Fehler tritt auf, weil du versuchst, einen String auf eine FILE-Struktur zu kopieren. Das hättest du auch selbst merken könne, weil genau das in der Fehlermeldung drinsteht.
-
*autsch* ja, stimmt... ^^#
hab die FILE* mit den char[] verwechselt ^^''