Variable mit Buchstaben füllen und wieder ausgeben

Dieses Thema Variable mit Buchstaben füllen und wieder ausgeben im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Sebastian Leknuk, 12. Jan. 2007.

Thema: Variable mit Buchstaben füllen und wieder ausgeben Hallo Zusammen Ich habe eine relativ banale Frage: Ich bin gerade dabei, C zu lernen und habe mommentan das...

  1. Hallo Zusammen

    Ich habe eine relativ banale Frage:
    Ich bin gerade dabei, C zu lernen und habe mommentan das Problem, dass ich z.B. das Wort Fisch in eine Variable speichern möchte.

    Nun habe ich keine ahnung wie ich das anstelle. Für Zahlen ist mir der Fall klar (Int Zahl).

    Was muss ich schreiben um mehrere Buchstaben hintereinander zu speichern und dann wieder auszugeben ?

    Besten Dank für die Hilfe


    Sebastian
     
  2. Die Variable als STRING deklarieren und ihr einfach den Wert (die Zeichenkette) zuweisen und anschließend über die PRINT-anweisung ausgeben!
     
  3. IMO gibts in C keinen String... da musst du ein CHAR[] nehmen
     
  4. Ist es möglich, dass ich diese Variable dann aber nicht mit scanf(%s, variable); füllen kann?

    Muss ich da was anderes nehmen ?
     
  5. Wie speichern? Initialisieren, kopieren, ...?

    char* str1 = Fisch; // initialisieren

    char str2[20];
    strcpy(str2, str1); // kopieren
    printf(%s\n, str2);

    Oder willst Du vom Benutzer die Zeichen entgegennehmen?
     
  6. Fakt ist, du musst in C ein Array vom Typ Char oder Int nehmen...in letzterem Fall speicherst du die Assciwerte der Buchstaben und gibst sie dann als char formatiert aus.
     
  7. Doch genau das ist schon möglich und so auch richtig, nur würde ich sie nicht variable sondern z.B. zeichenfolge nennen.
    zuvor musst du ihr genügend Platz reservieren und deklarieren.
    Code:
    char zeichenfolge[50];
    scanf(%s,zeichenfolge); //Zuweisung der Tastatureingabe bis zum abschliessenden Return
    Wichtig hierbei ist natürlich das nicht mehr Zeichen eingetippt werden als reserviert wurden da sonst in nicht zugewiessenen Speicher geschrieben wird was böse Überraschungen bzw. einen Programmabsturz zur Folge hat.
    Ausgeben kannst du den String dann einfach mit printf-Funktion.
     
  8. scanf is evil. :)
     
  9. Kurze Zwischenfrage....geht das wirklich? Ich mein, nimmt der die Zeichenfolge selbstständig auseinander und weist sie den einzelnen Feldern zu?
    Ich dachte immer man muss das in ner Schleife Zeichen für Zeichen einlesen und einzeln für
    zeichenfolge[0] bis zeichenfolge[49] zuweisen *grübel*
     
  10. zeichenfolge ist einfach ein Zeiger auf einen zusammenhängenden Speicherbereich, welcher Platz für 50 Werte der Größe->sizeof(char)' bietet. Da Du vorhandene oder eigene Funktionen benutzen willst, die als Stringabschlussmarkierung NULL erwarten, kannst Du das Array reell aber nur für 49 Zeichen verwenden.

    Ist ja letzlich wurscht, wie es implementiert ist. Da müsste man im Quellcode nachsehen. Vermutlich wird dort irgendwo eine Schleife mit Code in Zeigersyntax (also keine Arraysyntax) zu finden sein, die jedes Zeichen in Dein Array kopiert, bis im Buffer, aus dem gelesen wird, ein Zeilenvorschub gefunden wird - oder dieser Buffer keine weiteren Zeichen mehr enthält.
     
Die Seite wird geladen...

Variable mit Buchstaben füllen und wieder ausgeben - Ähnliche Themen

Forum Datum
Wie kann ich eine Excel-Formel in die nachfolgenden Zeilen mit variablem Multiplikator ziehen ? Microsoft Office Suite 4. Dez. 2015
Umgebungsvariable AppData ist nicht vorhanden Windows 7 Forum 14. Apr. 2015
DOS-Umgebungsvariable unter Windows lesen Windows XP Forum 26. Jan. 2015
Wie Monitorausgabe in Batch Variable einbinden ? Linux & Andere 10. Jan. 2015
Kann System-umgebungsvariablen nicht ändern Windows XP Forum 1. Dez. 2011