Vinzenz Mai: C-Arrays und Stringverarbeitung

Beitrag lesen

Hallo,

char eingabe[80] = ""; // Eingabepuffer
  char zeichen[2]  = ""; // Wozu ist diese Variable da?
  char ergebnis[80]= ""; // Ausgabepuffer

int i            = 0;  // Zählvariable

char zeichentabelle;
  zeichentabelle["a"] = "1";
  zeichentabelle["b"] = "2";
  zeichentabelle["c"] = "3";

//  Du hast offensichtlich keinen blassen Schimmer davon, was Du in
//  der Schleife tun willst. Ich verstehe es überhaupt nicht.

//  Meine Idee wäre:
//  Verarbeite die Zeichen des Eingabepuffers zeichenweise.
//  Höre beim Ende auf. Das ist nicht bei 80, das kann früher sein
//  Für jedes Zeichen im Eingabepuffer
//      Ermittle das entsprechende Ersetzungszeichen
//      Hänge das Ersetzungszeichen an den Ausgabepuffer an
//  Ende Für
//  Sorge für die Terminierung des Ausgabestrings (Null-Byte am Ende einfügen

for(i=0; i<80; i++)
  {

// Wenn Du einzelne Zeichen verarbeitest, dann benötigst Du
      // *nicht* strcpy. Da ist direkter Zugriff möglich

strcpy(zeichen, eingabe[i]);

// Zeiger hast Du überhaupt nicht verstanden.
      // Die Adresse eines Zeichens dürfte auf 32-Bit-Systemen 4 Byte,
      // auf 64-Bit-Systemen 8 Byte groß sein. Das ist *kein* Wert.
      // Du möchtest auf den Wert zugreifen.

strcpy(zeichen, zeichentabelle[&zeichen]);

// Argh, was machst Du da überhaupt?

strcat(ergebnis, &zeichen);
  }

Es ist schon rekordverdächtig, wieviele Fehler Du eingebaut hast.

Freundliche Grüße

Vinzenz

0 53

C-Arrays und Stringverarbeitung

minicrispie
  • programmiertechnik
  1. 0
    minicrispie
  2. 0
    Vinzenz Mai
    1. 0
      minicrispie
      1. 0
        Vinzenz Mai
        1. 0
          minicrispie
          1. 0
            Vinzenz Mai
            1. 0
              minicrispie
              1. 0
                Vinzenz Mai
              2. 0
                dedlfix
                1. 0
                  minicrispie
                  1. 0
                    Vinzenz Mai
            2. 0

              Gute und schlechte Übersetzungen

              Der Martin
              • sonstiges
              1. 0
                Vinzenz Mai
                1. 0
                  Tom
                2. 0
                  Der Martin
                  1. 0
                    Vinzenz Mai
          2. 0
            Vinzenz Mai
            1. 0
              minicrispie
              1. 0
                Vinzenz Mai
                1. 0
                  minicrispie
                  1. 0
                    Vinzenz Mai
    2. 0
      hotti
      1. 0
        Vinzenz Mai
        1. 0
          hotti
      2. 0
        minicrispie
        1. 2
          Multi
          1. 0
            minicrispie
            1. 1
              Vinzenz Mai
            2. 0
              Multi
    3. 0
      Stefanie
      1. 0
        Harlequin
        1. 0
          Stefanie
          1. 0
            Harlequin
            1. 0
              Tom
            2. 0
              Vinzenz Mai
      2. 0
        Der Martin
        1. 0
          Tom
          1. 0

            Strafe für schwer Lesbares

            Kai345
            • menschelei
            1. 0
              Tom
          2. 0
            Der Martin
          3. 0
            Stefanie
            1. 0
              Harlequin
            2. 0
              Tom
              1. 0
                Stefanie
                1. 0
                  Tom
      3. 0
        Vinzenz Mai
        1. 0
          Tom
  3. 0
    Vinzenz Mai
    1. 0
      minicrispie
      1. 1
        Stefanie
  4. 0
    stareagle
    1. 0
      minicrispie