• 18.02.2026, 13:16
  • Register
  • Login
  • You are not logged in.

 

Dear visitor, welcome to Aqua Computer Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

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"