Hilfe bei DV-Hausaufgaben -Please!



  • Hey Leute! 🙂

    Ist sicherlich nichts großes für euch, aber ich verzweifle hier gleich:
    Habe ein Programm geschrieben und die Funktionen in eine zweite Unit gepackt, in die zugehörige Header-Date habe ich die globalen Variablen aufgelistet und die Funktionsnamen definiert. **Hoffe bis dahin ist alles richtig?**
    Dann wollte ich eine STRING-Variable ein Char Array packen, das hat ohne Unit und Header-Datei auch bestens geklappt aber jetzt 😮

    Habe folgenden Aufruf benutzt: ::conStr = merker;
    (Wobei merker der Char-Array [80] ist und
    conStr die globale Variable vom Typ String)
    Was ist daran falsch?😕Bitte um Hilfe und bedanke mich schon Vorraus :p



  • strcpy bei chararrays verwenden



  • Original erstellt von <mag>:
    **STRING-Variable ein Char Array packen

    Habe folgenden Aufruf benutzt: ::String = CharArray;
    **

    Hi,
    wolltest du nicht einen String in ein CharArray packen! Da steht aber, dass er das andersrum machen soll! Ansonsten wie schon erwähnt strcpy(destination, source); nehmen!



  • Habe die strcpy verendet, zuerst
    habe wie im C++-Beispiel mit einem Zeiger auf das Char-Array gezeigt.
    char merker[80];
    char *ptrMerker = merker; Richtig? 😕

    mein verwendendeter Ausdruck sieht folgendermaßen aus:
    strcpy(::conStr, ptrMerker);

    Bekomme allerdings Fehlermeldung.. 😞
    E2285: Keine Übereinstimmung für 'strcpy(string,char *)' gefunden.

    und jetzt? 😡



  • Alex hatte da leider auch unrecht. Was du machen musst ist mit dem Konstruktor von String ein temproäres String-Objekt erstellen: String(ptrMerker) soviel ich weiss hat String (was IMHO nur ein typedef auf AnsiString ist) einen passenden Konstruktor.

    -junix



  • Hey junix!

    Danke für deine Antwort! Aber leider klappt es noch immer nicht.. 😞
    Der srting bekommt keinen Wert überliefert, das Programm startet aber.. 😕
    Wenn ich den globalen String ausgeben möchte, erhalte ich Zufallszeichen..
    Wie muss die korekte Syntax unter den jetzigen Vorraussetzungen lauten:

    JETZT: Hauptprgramm in con_in.cpp geschrieben, Funktionen in eigene.cpp und globale Variablen, sowie Funktionen definiert in eigene.h

    VORHER: Alles in der con_in.cpp

    //Übergabe merker an con_str
    ::conStr = merker; -> war kein Problem, WARUM JETZT 😕



  • sorry für den -intern- Thread! im Chat haben wir den Code korrigiert und sind auf folgenes Problem gestoßen: die eigene.cpp Datei wird gar nicht kompiliert und daher kommen die Linkerfehler. Was kann man dagegen tun?


Anmelden zum Antworten