• 18.07.2025, 12:30
  • Register
  • Login
  • You are not logged in.

 

fksystems

God

C: wie mehrzeichigen string mit printf ausgeben?

Friday, February 27th 2004, 8:54pm

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

Friday, February 27th 2004, 9:05pm

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

Friday, February 27th 2004, 9:19pm

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

Friday, February 27th 2004, 9:37pm

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

Eumel

God

Re: C: wie mehrzeichigen string mit printf ausgebe

Friday, February 27th 2004, 10:20pm

Source code

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

Saturday, February 28th 2004, 1:54pm

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"