Announcement

Collapse
No announcement yet.

dumme Frage zu Stringverarbeitung bzw. Parameterübergabe

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • dumme Frage zu Stringverarbeitung bzw. Parameterübergabe

    Hallo NG, ich beschäftige mich gerade (gezwungendermaßen) mit C, da ich einen Scanner programmieren soll. Ich bin eigentlich der VB.NET-Typ.

    Nun versuche ich in ein Programm Struktur zu bringen und wiederkehrende Programmzeilen in Funktionen zusammen zu fassen.
    Aktuell bin ich bei der Displayausgabe.

    Normalerweise wird hier der Cursor auf eine bestimmte Position gesetzt und danach mit printf() die Ausgabe gemacht.
    Das wollte ich in einer Funktion zudammenfassen:
    Code:
    void ldcOut( int xPos, int yPos, char sText[] ) {
        gotoxy( xPos, yPos );
        printf( "%s", sText );
    }
    
    void main( void ) {
       lcdOut( 1, 1, "Hier ist der Text" );
    }
    Hier entsteht der Fehler "Illegal Parametertyp". Was muss ich machen, damit der Fehler verschwindet?

    Folgendes habe ich bereits erfolglos getestet:

    void ldcOut( int xPos, int yPos, char *sText )
    void ldcOut( int xPos, int yPos, char *sText[] )

    Immer der gleiche Fehler.

    Noch besser wäre, wenn mir jemand zeigen könnte, wie ich die Funktion printf() in einer eigenen Funktion kapseln kann, um sie mit zusätzlichen Parametern zu erweitern.

    PS
    Und ja, ich weiß, dass sind Grundlagen und ja, ich habe keine Ahnung. Und auf die Frage, warum ich den C nehme, wenn ich keine Ahnung davon habe: Das ist die vom Hersteller mitgelieferte Entwicklungsumgebung. Das habe ich mir auch nicht ausgesucht. Sorry, wenn ich das so schreibe, aber ich habe in den letzten Stunden - bei solch "dummen" Fragen soviel Antworten gelesen, die nichts mit einer "Antwort" zu tun hatten, dass ich dem hier vorgreifen möchte.

  • #2
    char *sText wäre korrekt
    Du rufst lcdOut auf, aber die Funktion heiß ldcOut
    Christian

    Comment


    • #3
      Hallo, das mit lcd und ldc ist ein Tippfehler beim abschreiben.

      Ich habe das mit *sText geprüft und erhalte folgende Meldungen:

      Illegal assignment, const/volatile qualifier mismatch
      Parameter type mismatch, '3'th parameter of 'lcdOut'

      für jede Zeile in der ich folgendes stehen habe:

      lcdOut( 1, 1, "Hier die Ausgabe" );

      Hat da noch jemand eine Idee?

      Comment


      • #4
        const char *sText
        Christian

        Comment


        • #5
          Danke, das mit "const" hat wohl funktioniert, da die Fehlermeldungen weg sind.

          Ich werde mir jetzt mal anlesen wofür das "const" eigentlich ist, um auch zu verstehen, was ich da gemacht habe.

          Many Thanks
          Georg

          Comment

          Working...
          X