C printf Fehler

Neue Frage »

Auf diesen Beitrag antworten »
InformaTiger C printf Fehler

Hallo,

ich habe neulich einen einfachen Code in C geschrieben, der einfach mehrere Wörter ausgeben soll. Beim Ausführen des Codes ergab sich allerdings folgendes Problem: er schrieb zwar alles raus, aber zusammengeklebt. Ist printf also nicht dasselbe wie in C# ConsoleWriteLine? Oder muss ich es einfach mit Zeilenvorschubskonstanten (\n) trennen?
verwirrt

Lg
InformaTiger
 
Auf diesen Beitrag antworten »
Karlito RE: C printf Fehler

Hallo.

Zitat:
Original von InformaTiger
[...] oder muss ich es einfach mit Zeilenvorschubskonstanten (\n) trennen?


Genau das...

VG,

Karlito
Auf diesen Beitrag antworten »
InformaTiger RE: C printf Fehler

Danke,
also gibt es aber in C sowas wie Console.WriteLine nicht? smile

Lg
InformaTiger
Auf diesen Beitrag antworten »
Karlito

Ist mir ohne Zusatzbibliotheken nicht bekannt. WriteLine macht ja nichts anderes als einen Zeilenumbruch am Ende hinzufügen... Ist nur Komfort und Komfort gibt es in C nicht so häufig wie in C# Augenzwinkern Trotzdem gute Sprache. Du kannst dir ja ein WriteLine selbst schreiben. Ist eine schöne übung, da du printf "kapseln" musst. Das Besondere ist dabei das Übergeben beliebig vieler Argumente.

VG,

Karlito
 
Auf diesen Beitrag antworten »
InformaTiger

Ja, das schon aber ich denke das WriteLine selbst zu schreiben überfordert mich im moment in C noch, da ich mich wie gesagt nicht wirklich damit auskenne. unglücklich
Was wären diese Zusatzbibliotheken? Header-Dateien?
Trotzdem vielen Dank.

smile

Lg
InformaTiger
Auf diesen Beitrag antworten »
Karlito

Hallo,

Header-Dateien machen normalerweise nur die Schnittstellen bekannt. D,h, da stehen normalerweise nur Definitionen von Datenstrukturen und Funktionsprototypen drin...

Bibliotheken gibt es in verschiedenen Formen. Bibliotheken, welche zur Laufzeit des Programms erst geladen werden heißen unter Windows dll...

VG,

Karlito
Auf diesen Beitrag antworten »
InformaTiger

Achso, das bedeutet dann bräuchte ich also eine externe Datei? verwirrt

Lg
InformaTiger
Auf diesen Beitrag antworten »
Karlito

Im Prinzip ja.

C# macht das auch so. Es nutzt ja das .net Framework. Dies ist auch in Form von Bibliotheken vorhanden, nur dass es zentral hinterlegt und zugreifbar ist. Zusätzliche Bibliotheken kann man aber auch nachladen. Dazu muss man einen Verweis darauf im Projekt im Visual Studio konfigurieren.

C nutzt natürlich auch Biblotheken. Die Funktionalität, auf welche du z.B. mit stdio.h und stdlib.h zugreifst, sind in der so genannten Standardbiblothek hinterlegt. Es gibt bestimmte Verzeichnisse, in denen diese Bibliotheken gefunden werden. Deshalb merkt man oft manchmal nicht, dass man welche verwendet.

VG,

Karlito
Auf diesen Beitrag antworten »
InformaTiger

Ok,
dass C# das auch macht war mir bis jetzt gar nicht bewusst. In C wenn ich auf stdlib.h oder stdio.h zugreife heißt das, dass die Standardbibliothek aufgerufen wird und diese Definitionen von Datenstrukturen und Funktionsprototypen werden davon entnommen, habe ich das richtig verstanden?

Lg
InformaTiger
Auf diesen Beitrag antworten »
Karlito

Das ist der Punkt an dem ich mich auch auf dünnem Eis bewege. Auf jeden fall ist es so, dass die .h- Dateien nur beschreiben was es gibt. Die konkrete Funktionalität ist dann woanders.

Header-Dateien sind reine Text-Dateien. Die #include <> -Direktive weist nur den so genannten Präprozessor an, den Inhalt der Header-Datei in die .c-Datei zu kopieren.

Schau dir am besten mal die Header an. Das ist normaler C-Quelltext, nur dass darin normalerweise nur Deklarationen vorkommen und keine konkreten Implementierungen. Und halt evtl Präprozessor-Makros und -Direktiven.

Der Präprozessor ist ein Programm, was eigentlich nur sowas wie Textersetzungen macht. Lies dir mal die Wiki-Artikel durch:
- Präprozessor
- C-Präprozessor

Vielleicht ist auch das Buch für dich interessant:
C von A bis Z

Das ist frei Online verfügbar...

VG,

Karlito
Auf diesen Beitrag antworten »
InformaTiger

Ok, werd ich machen!
Danke für die Hilfe.
smile

Lg
InformaTiger
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »