Sortier Schleife



  • Hallo,

    ich habe folgendes Problem, fputc(*char) gibt mir immer die Ausgabe auf die Konsole raus, moechte ich aber nicht da ich es in eine Variable speichern moechte um es dann spaeter weiter zu verarbeiten. Was kann ich machen das mit er es nicht mehr auf der Konsole aus gibt? Bzw. welche alternativen gibt es?

    Danke schon mal.



  • Hier noch mal kurz der code:

    for(int i = 65; i <= 90; i++)
    {
    
    fnCoutAddy(intAddyNo, chTemp, chPathFstc, chLTMP, chFileNo1, chPathFstcTMP, chFileNo2, chFileNo3, chFileNo4, chFileNo5, chFileNo6, chFileNo7, chFileNo8, chFileNo9, fputc(i));
    
    }
    


  • Hmmm, netter Trollversuch.



  • Wieso denn Trollversuch? Ist doch ne ganz normale Frage, oder nicht?



  • Ohhh sorry, meine natuerlich putchar() und nicht fputc() hatte das via copy und past aus dem Source uebernommen nach dem ich ein bischen rum experimentiert hatte und vergessen es wieder zurueck zu setzen. Also putchar() muss es natuerlich sein. Ansonsten bleibt das Problem das gleiche...



  • könntest du den Teil, deines Codes mal posten, weil man so deine Frage nicht versteht



  • Die for Schleife steht doch oben? Oder meinst du die Funktion die ich in der for Schleife aufrufen? Kannste auch einfach selber testen was passiert:

    Ausgabe auf die Kommandozeile (Shell/DOS-Box)

    #include <iostream.h>
    #include <stdio.h>
    
    void main()
    {
    
    putchar(65);
    
    }
    

    Und hier liegt z.B. das Problem, er speichert es nicht bzw. nicht nur in der Variable chVar sondern gibt es auch auf der Kommandozeile aus...

    #include <iostream.h>
    #include <stdio.h>
    
    void main()
    {
    
    char chVar;
    
    chVar = putchar(65);
    
    }
    

    ... soll aber nur in die Variable chVar geschrieben werden.
    Hab mich schon fast zu tode gegoogelt, konnte aber nix finden :/. Vielleicht suche ich auch nach dem Falschen.



  • Warum speicherst du es nicht in chVar und gibst dann aus?

    int main(){
      char chVar = 65;
      putchar (chVar);
      return 0;
    }
    

    Ansonsten, geht es bei mir

    int main(){
      char chVar;
      chVar = putchar (65);
      putchar (chvar); // gibt das selbe wie die obere Zeile
      return 0;
    }
    


  • Genau, es gibt jedes mal eine Ausgabe. Genau das soll es ja aber nicht. Es soll KEINE ausgabe geben sondern NUR in die Variable gespeichert werden.



  • Also was ich eigendlich auf klartext haben will ist nichts anderes als einen Nummerischen ASCII Code zurueck in normalen Text verwandeln also z.B. 65 auf A. Vielleicht schildere ich einfach mein Problem falsch ^^



  • Etwas schon.
    Ob du 65 oder 'A' schreibst ist doch intern ******egal, da es eh als Zahl gespeichert wird. Du kannst auch so was machen.

    char c = 'A', d = 65;
    putchar (c); // A wird angezeigt
    putchar (d); // A wird angezeigt
    c++;
    d++;
    putchar (c); // B wird angezeigt.
    putchar (d); // B wird angezeigt.
    
    do {
      c = getchar();
    } while ( (c > 64 && c < 91) || (c > 96 && c < 123) ); // nur buchstaben werden akzepiert
    

Anmelden zum Antworten