tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
611
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Manda Manda ist offline Mitglied Gold
    Registriert seit
    Oct 2005
    Beiträge
    114
    Hallo Leute,

    ich weis nicht was ich falsch mache :confused....hoffe ihr könnt mir helfen!
    ich versuche nur ein wort einzulesen und in ein array zu speichern. das soll allerdings versteckt gehen, also die zeichen durch * ersetzen.
    hier der Code:
    Code c:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    #define BUCHSABEN 40
    char eingabe;
    char wort[BUCHSTABEN];
    char replace = '*';
    char wort[BUCHSTABEN];
    char loesung[BUCHSTABEN];
     
           printf("\nBitte Wort eingeben: ");
        //scanf("%s", wort);
        while( (eingabe = getch()) != '\n')
        {
            wort[i] = eingabe;
            i++;
            printf("*");
        }
        strcpy(loesung,wort);
    Problem: er zeigt nur * an, kann es nicht durch [enter] beenden, also das wort abspeichern.
    Was mach ich falsch Habt ihr Tips für mich

    MfG
    Manda
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Windows verwendet als Zeilenendemarkierung die 2 Zeichen CRLF = "\r\n". Dabei gibt die Funktion getch() offenbar nur das CR = '\r' zurück. Am besten testest du auf beide Zeichen.

    Gruß

    PS: Warum machst du es eigentlich so kompliziert? Speicher doch die Eingabe direkt in loesung. Und getch() liefert einen int zurück, bei einem Fehler EOF!
    Code c:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    char loesung[BUCHSTABEN];
    int i = 0;
    int c;
     
    while( (c = getch()) != EOF && c != '\r' && c != '\n') {
      putchar('*');
      loesung[i++] = c;
    }
    loesung[i] = '\0'; // terminieren.
    Geändert von deepthroat (16.12.08 um 10:13 Uhr)
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Manda Manda ist offline Mitglied Gold
    Registriert seit
    Oct 2005
    Beiträge
    114
    Hi,

    danke erstmal für deine hilfe!
    strcpy(loesung, wort); mach ich nur weil ich das auch in ein anderes array schreiben will und mit beiden dann später weiter arbeite.

    wenn ich das array wieder ausgeben will, kommen da aber andere zeichen/symbole raus, als die die ich gespeichert habe.
    Muss ich das wieder zurück konvertieren oder so

    Also, ziel ist nur, als * anzeigen in ein array...und bei der ausgabe sollen die richtigen zeichen ausgegben werden, nicht mehr *.
    Da noch eine idee

    MfG
    Manda
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von Manda Beitrag anzeigen
    wenn ich das array wieder ausgeben will, kommen da aber andere zeichen/symbole raus, als die die ich gespeichert habe.
    Muss ich das wieder zurück konvertieren oder so
    Nein, konvertieren mußt du dort nichts. Du müßtest den eingelesenen String höchstens ordentlich terminieren. (Hab ich in meinem letzten Beitrag nochmal geändert)

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Manda Manda ist offline Mitglied Gold
    Registriert seit
    Oct 2005
    Beiträge
    114
    Hi,

    danke es klappt jetzt...und wieder was dazu gelernt!! Danke viel mals...

    Gruß
    Manda
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 21.04.10, 12:46
  2. Antworten: 1
    Letzter Beitrag: 13.11.09, 19:58
  3. Farbe ersetzen mit RGB-Eingabe
    Von Geri1304 im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 03.06.07, 16:26
  4. "int *array[10]" durch eine Liste ersetzen
    Von janosch im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 19.12.05, 14:34
  5. Array Zeile ersetzen durch Geänderte
    Von m-budget im Forum PHP
    Antworten: 0
    Letzter Beitrag: 10.04.05, 18:45