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 Funktionsformat

    Der Fehler tritt in Folgender Zeile auf:
    pToken = strtok(NULL, " ");

    Wär klasse wenn ihr mir helfen könntet.

    Greetz
    THE_FreaK

    char* 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 ^^''


Anmelden zum Antworten