• 05.06.2025, 20:22
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

fksystems

God

C: wie mehrzeichigen string mit printf ausgeben?

Freitag, 27. Februar 2004, 20:54

ich wollte in C einen string aus mehreren zeichen mit printf ausgeben, der in einer variable gespeichert ist.


printf("%s", variableninhalt);
funktioniert aber nicht.

nur
printf("%c", variableninhalt);
funktioniert, aber gibt mir nur ein einzelnes zeichen aus.

jetzt die frage:
muß ich jetzt eine for-schleife machen, wenn ich den ganzen string ausgeben will, oder gibts da ne fertig-funktion für?
Dieses Youtube-Video ist aufgrund von Urheberrechtsbeschränkungen in deinem Land nicht verfügbar.

churchi

Senior Member

Re: C: wie mehrzeichigen string mit printf ausgebe

Freitag, 27. Februar 2004, 21:05

Man kann einen String in C nur in einem array von chars speichern und ausgeben. Ein char speichert nur 1 Zeichen.

fksystems

God

Re: C: wie mehrzeichigen string mit printf ausgebe

Freitag, 27. Februar 2004, 21:19

nein, mit variablen-inhalt ist ein array von chars gemeint.


ich habe es aber jetzt hingekriegt.

ich habe jetzt gemerkt, daß die angabe "%s" in gegensatz zu "%c" einen pointer statt einem variablen-inhalt erwartet.


aber noch eine frage:
wenn ich jetzt eine variable

char v[6];

..habe und will, daß da hallo drinsteht.

welche möglichkeiten habe ich dann, das hallo in die v[6] reinzumachen?

kann ich das nur mit strcpy oder gibts da noch was anderes einfacheres oder einfach halt was andereres?
Dieses Youtube-Video ist aufgrund von Urheberrechtsbeschränkungen in deinem Land nicht verfügbar.

churchi

Senior Member

Re: C: wie mehrzeichigen string mit printf ausgebe

Freitag, 27. Februar 2004, 21:37

v[0] = "h";
v[1] = "a";
.
.
.

Eumel

God

Re: C: wie mehrzeichigen string mit printf ausgebe

Freitag, 27. Februar 2004, 22:20

Quellcode

1
char v[6] = { 'H', 'a', 'l', 'l', 'o', '\0'};


MfG

Edit: Schreib dir ne String-Klasse :D oops ... meinst ja C ;D
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

hus

Senior Member

Re: C: wie mehrzeichigen string mit printf ausgebe

Samstag, 28. Februar 2004, 13:54

Wozu der Aufstand?

char v[] = "hallo";

In C kann man Array und Pointer normalerweise als gleichbedeutend behandeln.
Einzig wichtiger Unterschied in diesem Fall:
char *v = "hallo"
ist falsch, da die rechte Seite einen konstanten Wert darstellt, der im Codesegment abgelegt wird; der Compiler sollte auch eine Warnung generieren. Es muß also heißen "const char *v", oder es muß ein entsprechender Compilerschalter bemüht werden.
Real stupidity beats artificial intelligence every time. T. Pratchett, "Hogfather"