QuickC - Schnellkurs in C

Ähnliche Dokumente
Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

E-/A-Funktionalität nicht Teil der Programmiersprache

Einführung in die C-Programmierung

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Programmiersprachen Einführung in C

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

GI Vektoren

3. Einführung in C Programmierung Einführung in C Programmierung

Arrays (Felder/Vektoren)

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.

Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen

Einführung in C. EDV1-04C-Einführung 1

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Grundlagen der Programmierung

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Die Programmiersprache C Eine Einführung

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Kapitel 2. Einfache Beispielprogramme

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

C Überlebenstraining

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Informatik I Programmieren in C

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

Programmierkurs C++ Variablen und Datentypen

RO-Tutorien 3 / 6 / 12

Moderne C-Programmierung

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Unterlagen. CPP-Uebungen-08/

4 Formelsammlung C/C++

Algorithmen zur Datenanalyse in C++

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

6. Zeiger Allgemeines Definition eines Zeigers

einlesen n > 0? Ausgabe Negative Zahl

C++ - Einführung in die Programmiersprache Schleifen

Die Programmiersprache C99: Zusammenfassung

Physische Datenstrukturen

Die Programmiersprache C

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Elementare Datentypen in C++

Dr. Monika Meiler. Inhalt

RO-Tutorien 15 und 16

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

10 Die Programmiersprache C99: Zusammenfassung

Strukturen können wie normale Variablen an Funktionen übergeben werden. Strukturen können auch Ergebnis einer Funktion sein

JAVA-Datentypen und deren Wertebereich

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration

file:///h:/dokumente/_fh/ ws /etinfoii/vorlesung/infoii...

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Grundlagen der Programmierung

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Deklarationen in C. Prof. Dr. Margarita Esponda

Effektiv Programmieren in С und C++

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

5. Elementare Befehle und Struktogramme

Einführung in die Programmierung mit VBA

BKTM - Programmieren leicht gemacht.

Informatik I - Übung 2 Programmieren in Eclipse

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Einführung in die Programmierung Wintersemester 2011/12

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

Arbeitsblätter für Algorithmierung und Strukturierung C #

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

2 Einfache Rechnungen

Programmiersprachen Einführung in C

Zusammenfassung des Handzettels für Programmieren in C

3. Anweisungen und Kontrollstrukturen

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

3.2 Datentypen und Methoden

Vorkurs C++ Programmierung

Grundlagen der Programmierung

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff

2 Eine einfache Programmiersprache

Informatik I - Einstiegskurs

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Speicherklassen (1) Lokale Variablen

Erste Schritte der Programmierung in C

2 Teil 2: Nassi-Schneiderman

Funktionen in Matlab. Nutzerdefinierte Funktionen können in.m-datei gespeichert werden

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Einstieg in die Informatik mit Java

Grundlagen der Informatik 2. Typen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

Eine Mini-Shell als Literate Program

Kurzeinführung in C. Johannes J. Schneider

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C

Transkript:

QuickC - Schnellkurs in C Allgemeines C ist eine kurze, aber sehr mächtige Programmiersprache. Sie wurde ursprünglich dafür entwickelt, UNIX zu schreiben. Sie ist sehr hardware-nah und wird deshalb heute noch häufig dazu benutzt Steuergeräte und Mikroprozessoren zu programmieren. Nur etwa 30 Schlüsselworte sind fest in C implementiert. Diese Schlüsselworte umfassen grundlegende Dinge wie Datentypen und Operatoren für Schleifen, Verzweigungen und Kontrollanweisungen. Schlüsselworte: 1. automatic, extern, static, register 2. char, short, int, long, float, double, unsigned 3. if, else, switch, case, break, continue, default, for, do, while, return, goto 4. enum, struct, union 5. void, typedef, sizeof Hinzu kommen noch Operatoren, die einzelne Elemente miteinander verknüpfen. Dazu gehören: Operator Beschreibung + - * / Mathematische Operatoren für die Grundrechenarten % Modulo (Restfunktion bei Ganzzahldivisionen) * & Adress- und Verweisoperator für Zeiger = Zuweisung && == Logische Verknüpfungen (Boolesche Algebra)!=! & >> Bit-Operatoren Ein Programm in C besteht aus Funktionen. Die wichtigste davon ist die Funktion main(). Mit ihr startet und endet jedes C-Programm. Sogenannte Bibliotheksfunktionen, die bei Bedarf aus Bibliotheken geladen werden, erweitern den Funktionsumfang. Diese werden über Header-Dateien (Datei-Endung.h) eingebunden. Zusätzlich kann man dann auch noch eigene Funktionen deklarieren. Grundsätzlich gilt das Prinzip des "Declare before use", das heißt alle Dinge, die man in C verwenden möchte (Variablen, Funktionen, etc.) müssen zuerst deklariert werden, bevor sie benutzt werden können. Jede Anweisung wird mit einem Semikolon ; abgeschlossen. QuickC - Schnellkurs in C 1 Dieter Hägele

Ein typisches Programm in C sieht so aus: #include <stdio.h> #include <stdlib.h> Header-Dateien einbinden double fkt (double x); int main(int argc, char *argv[]) double a, d; d = 5.56; a = fkt(d); printf("die Variable a ist = %f\n", a); Funktionsprototypen deklarieren Hauptfunktion main() Definitionsteil Befehle (Statements) system("pause"); return 0; Programmende double fkt(double x) double rst; Unterprogramme (Subroutines) rst = 3.14159 * x; return rst ; In diesem Programm gibt es 4 Funktionen: fkt() main() Eigene Funktion Funktion wird durch seinen Funktionsprototyp in der 3. Zeile deklariert und später im Quellcode genau definiert Standard-Funktion Beginn und Ende jedes C-Programmes printf() Bibliotheksfunktion Formatierte Ausgabefunktion Wird durch stdio.h eingebunden system() Bibliotheksfunktion Aufruf des Betriebssystems Wird durch stdlib.h eingebunden QuickC - Schnellkurs in C 2 Dieter Hägele

Funktionen Deklaration von Funktionen Mit dem Funktionsprototyp wird jede Funktion deklariert. Für fkt() steht sie im Quellcode, für alle anderen in den Header-Dateien. Der Funktionsprototyp hat folgende Form double fkt (double x); Übergabeparameter Funktionsname Datentyp Rückgabeparameter Aus der Mathematik kennt man die Schreibweise y = f(x). Sie gehen von einem Wert x aus, dieser wird gemäß der Funktion verändert z. B. (x²). Das Ergebnis der Berechnung wird dann y zugewiesen. Nichts anderes machen Funktionen in C. Eine oder mehrere Variablen werden an die Funktion übergeben Übergabeparameter), dort gemäß den Anweisung verändert und dann der Ergebniswert einer anderen Variablen zugewiesen. Im Unterschied zur Mathematik können in C nicht nur Zahlen verarbeitet werden, sondern auch andere Objekte. Deshalb ist es wichtig, den Datentyp der Übergabe- und Rückgabeparameter genau zu definieren. Definition von Funktionen Erst nach der Deklaration kann die Funktion definiert werden. Dazu werden die Anweisungen, die beim Aufruf dieser Funktion ausgeführt werden sollen, eingegeben. Diese Anweisungen werden durch geschweifte Klammern (Blockklammern) zusammengefasst. Am Ende bestimmt die Anweisung return, welcher Wert dann wieder zurückgegeben wird. QuickC - Schnellkurs in C 3 Dieter Hägele

Allgemein hat eine Funktion folgende Form: Speicherklasse Datentyp Funktionsname (Parameterliste) Definition der formalen Parameter Deklarationen der lokalen Variablen Anweisungen Funktionskopf Funktionskörper Oder konkret in unserem Beispiel: double fkt (double x) double rst; rst = 3.14159 * x; return rst ; Funktionskopf Funktionskörper QuickC - Schnellkurs in C 4 Dieter Hägele

Variablen Deklaration von Variablen 2 Dinge müssen von einer Variablen bekannt sein: der Datentyp und der Name. In C werden Variablen dadurch deklariert, dass einfach der Datentyp und anschließend gleich der Variablenname eingegeben wird. Haben mehrere Variablen den selben Datentyp, können sie einfach als Liste mit einem trennenden Komma geschrieben werden (hier: double a, d;). Bei der Deklarierung selbst werden noch keine Werte zugewiesen, es ist also nicht klar, welchen Wert die Variable zu diesem Zeitpunkt enthält. Es gibt in C 6 verschiedene sogenannte skalare oder fundamentale Datentypen. Sie werden unterteilt in Ganzzahltypen und Gleitkommatypen. Ganzzahltypen Bei den Ganzzahltypen kann der Vorsatz unsigned (ohne Vorzeichen) verwendet werden. Dadurch verschiebt sich der Wertebereich. Name Größe Wertebereich (signed) Wertebereich (unsigned) char 1 Byte (8 Bit) -128... +127 0... 255 short 2 Byte (16 Bit) -32768... +32767 0... 65535 int WortIänge d. Systems z.b. 4 Byte, 32 Bit -2147483648... +2147483647 0... 4294967295 long 4Byte (32 Bit) -2147483648... +2147483647 0... 4294967295 Gleitkommatypen Name Größe Wertebereiche -3,402823466 10 38... -1,175494351 10-38 float 4 Byte (32 Bit) 0 +1,175494351 10-38... +3,402823466 10 38-1,7976931348623157 10 308... -2,2250738585072014 10-308 double 8 Byte (64 Bit) 0 +2,2250738585072014 10-308... +1,7976931348623157 10 308 Bereits bei der Deklarierung einer Variablen kann ein Wert zugewiesen werden. Dies nennt man Initialisierung. Beispiel: int zahl = 33; Hier bekommt die Variable zahl also sofort den Anfangswert 33, sie ist also sofort definiert. QuickC - Schnellkurs in C 5 Dieter Hägele

Aus den Grundtypen kann man auch eigene zusammengesetzte Datentypen bilden. Die einfachste Variante ist, wenn alle Elemente vom gleichen Datentyp sind. Diese nennt man dann Vektor, Feld oder Array. Beispiel: double zahlfeld[10]; Hiermit wird ein Feld mit 10 Elementen deklariert, die alle vom Datentyp double sind. Der Index läuft dabei von 0 bis 9 (nicht 1-10!). zahlfeld[0] ist also das erste Element dieses Feldes. Man kann diese einzelnen Elemente eines Feldes wie jede andere Variable auch verwenden (Zuweisung, Berechnungen, etc.). Da es in C keinen fundamentalen Datentyp für Zeichenketten oder Strings gibt, wird in diesem Fall ein Feld vom Typ char verwendet. Beispiel: double zeichenkette[80] = "Dies ist eine Zeichenkette"; Man kann aber auch eigene Datentypen definieren, die unterschiedliche Datentypen enthalten. Hierzu wird das Schlüsselwort struct benötigt. QuickC - Schnellkurs in C 6 Dieter Hägele

Die Strukturbausteine von C Verschiedene Grundelemente kann man in C verwenden, um einen Programmablauf zu steuern: Verzweigung (zweiseitige Auswahl), mehrseitige Auswahl, Zählschleife, kopfgesteuerte Schleife und fußgesteuerte Schleife. if - die Verzweigung Die if-anweisung sieht folgendermaßen aus: if (x < 0) printf("x ist negativ.\n"); else printf("x ist positiv oder Null.\n"); Der else-teil ist optional und kann weggelassen werden. Obwohl sie eigentlich nicht notwendig wären, empfehle ich grundsätzlich den Gebrauch von Blockklammern. switch - die mehrseitige Auswahl Sind bei einer Auswahl mehrere Ergebnisse möglich, so kann man dies mit switch auswerten. Dabei können allerdings nur Zahlenwerte als Auswahlkriterium benutzt werden. switch ( x ) case 1: printf("x ist 1.\n"); break ; /* Verlassen switch */ case 2: printf("x ist 2.\n"); break ; case 3: printf("x ist 3.\n"); break; default: printf("x ist alles andere.\n"); break; Der default-teil kann entfernt werden. QuickC - Schnellkurs in C 7 Dieter Hägele

for - die Zählschleife Die for-schleife wird benutzt, wenn schon vorher fest steht, wie oft bestimmte Anweisungen durchgeführt werden sollen. for ( i = 1; i <= 100 ; i++ ) printf("mein Lehrer hat gesagt, ich soll das 100 mal schreiben.\n"); printf("das ist das %d. Mal. Jetzt muss ich noch %d mal.\n", i, 100-i); Diese Schleife wird 100 mal durchlaufen. Dabei wird die Zähl- oder Laufvariable i von 1 bis 100 hochgezählt. for ( i = 1; i <= 100 ; i++) Inkrement Laufbedingung Anfangswert Bitte beachten! Im Gegensatz zu vielen anderen Programmiersprachen wird in C eine Laufbedingung angegeben, nicht die Abbruchbedingung. Solange diese Laufbedingung WAHR ist, wird die Schleife weiter ausgeführt. while - die kopfgesteuerte Schleife double x, y, z = 0;... while ( z < 1024) x = 3 * y + 42; z = x * x + 7 * y + 18; printf("\nfertig!"); /* Schleife ist beendet */ In diesem Fall wird die Schleife so lange ausgeführt bis z den Wert 1024 oder höher annimmt. Erst dann wird die Schleife beendet. Ist z bereits zu Beginn 1024 oder größer, wird der Schleifenkörper gar nicht erst ausgeführt. z sollte in diesem Fall aber schon zu Beginn definiert sein. QuickC - Schnellkurs in C 8 Dieter Hägele

do/while - die fußgesteuerte Schleife do x = 3 * y + 42; z = x * x + 7 * y + 18; while ( z < 1024 ); Die Schleife wird in jedem Fall ausgeführt. Erst danach wird z mit 1024 verglichen. z muss also zu Beginn der Schleife nicht definiert sein. break - Schleifen beenden Sollte eine Schleife unter bestimmten Bedingungen beendet werden müssen, gibt es mit break die Möglichkeit, eine Schleife sofort abzubrechen, auch wenn die eigentliche Abbruchbedingung noch nicht erfüllt ist. QuickC - Schnellkurs in C 9 Dieter Hägele

Ein- und Ausgabe printf() Mit printf() werden Texte formatiert auf dem Bildschirm ausgegeben. Dabei können auch Variablen und Textformatierungen mit eingefügt werden. Es besteht normalerweise aus den folgenden Teilen: printf ( "x = %d\n", x ); Variablen-Liste Formatstring Beispiel: double x_double = 3.5789; int y_int = 1; char z_string = "Dies ist ein Text.";... printf("es gelten folgende Werte:\n\n"); printf("x_double = %f\ty_int = %d\tz_string = %s\n", x_double, y_int, z_string); Der Formatstring beinhaltet einfachen Text, Platzhalter für Variablen und Textformatierungen. Platzhalter für Variablen beginnen mit einem %-Zeichen. Danach erscheint ein Symbol für den Datentyp. Symbol Datentyp Beschreibung d,i Dezimalzahl des Typs signed u Dezimalzahl des Typs unsigned o Oktal-Ganzzahl des Typs unsigned x,x Hexadezimal-Ganzzahl des Typs unsigned f Gleitkommazahl mit Festkomma e,e Exponentialdarstellung g,g %e oder %f; das kürzere davon c einzelnes Zeichen s Zeichenfolge p Adresse auf den ein Zeiger verweist QuickC - Schnellkurs in C 10 Dieter Hägele

Alle Textformatierungen beginnen mit einem " \ ". Man nennt sie auch Escape-Sequenzen. Sequenz Funktion \n Neue Zeile, Zeilenumbruch \t Nächsten Tabulator anspringen \\ Backslash ausgeben \" Anführungszeichen ausgeben \' Apostroph scanf() Im Prinzip ähnelt scanf() von der Funktion her printf(). Nur, dass dieses Mal etwas eingegeben werden kann. Ich empfehle mit einem scanf()-befehl jeweils nur eine Variable zuzuweisen. Beispiel: int x; double y; char textzeile[80]; scanf("%d", &x); scanf("%lf", &y); /* Platzhalter fuer double ist lf */ scanf("%s", textzeile); Es ist nicht möglich, mit scanf() gleich einen Text auszugeben ("Bitte geben Sie eine Zahl ein:"). Dies muss immer separat mit einer printf()-anweisung gemacht werden. Bei scanf() muss die Variable immer als Adresse übergeben werden. Deshalb steht vor dem Variablennamen immer ein "&". Einzige Ausnahme sind hier die Zeichenketten. Hier genügt der Name ohne Klammer, da dies bereits ein Zeigerwert ist. QuickC - Schnellkurs in C 11 Dieter Hägele

Dateizugriff Mit C sind natürlich auch Zugriffe auf die Laufwerke möglich. Dazu wird in der Regel ein Zeiger auf den Datentyp FILE deklariert. Dieser Dateizeiger (File Pointer) ermöglicht dann alle Zugriffe auf die Datei (Öffnen, Schließen, Lesen, Schreiben). Dafür können die folgenden Anweisungen verwendet werden: Anweisung fopen() fclose() fprintf() fscanf() fgets() Beschreibung Öffnet eine Datei Definiert den Dateizeiger Schließt eine Datei Gibt die Datei für das Betriebssystem wieder frei Schreibt Daten in eine Datei Liest Daten wie scanf() aus einer Datei Achtung! Leerzeichen sind Trennzeichen! Liest Zeichenketten aus einer Datei Leerzeichen werden mitgelesen Dabei gilt folgender Syntax: FILE *fopen(name, mode) char *name; /* Name der Datei */ char *mode; /* Öffnungsmodus */ Als Öffnungsmodus gibt es Öffnungsmodus Beschreibung a Append-Modus Daten werden an die bestehende Datei angehängt r w Read-Modus Daten werden vom Anfang eingelesen Write-Modus Schreibt Daten in eine Datei; Datei wird angelegt falls nicht vorhanden QuickC - Schnellkurs in C 12 Dieter Hägele

int fclose(fp) FILE *fp; /* Dateizeiger */ Jede Datei, die geöffnet wurde, sollte auch wieder geschlossen werden. Beim Beenden eines Programmes werden aber auch alle von diesem Programm geöffneten Dateien automatisch geschlossen und freigegeben. int fprintf(fp, format, arg1, arg2,... ) FILE *fp ; /* Dateizeiger */ char *format ; /* Formatierung */ Diese Funktion entspricht printf(). int fscanf(fp, format, adr1, adr2,...) FILE *fp; /* Dateizeiger */ char *format; /* Formatierung */ Diese Funktion entspricht scanf(). Leerzeichen werden als Trennzeichen interpretiert und nicht eingelesen. char *fgets(str, len, fp) char *str; /* Name der Zeichenkette */ int len; /* Laenge der Zeichenkette */ FILE *p; /* Dateizeiger */ Hier werden alle Zeichen (auch Leerzeichen) einer Zeichenkette eingelesen. QuickC - Schnellkurs in C 13 Dieter Hägele

Öffnen einer Datei zum Lesen #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) FILE *fp; fp = fopen("c:\\datx.txt", "r" ); if (fp == (FILE *)NULL ) printf("keine Datei C:\\datx.txt vorhanden\n"); system("pause"); exit(1); /* Alle Zeilen auslesen */ while (fgets( textzeile, 80, fp)!= NULL) printf("zeile: %s", textzeile); /* Steht in der Datei ein \n, wird es auch mit fgets() übernommen */ printf("\n\n"); fclose(fp); system("pause"); return 0; In diesem Beispiel öffnet fopen() die Datei C:\DATX.TXT zum Lesen und weist den Dateizeiger der Variablen fp zu. Ist die Datei nicht vorhanden oder nicht verfügbar, wird eine Fehlermeldung ausgegeben. Danach werden mit fgets() alle Zeilen der Datei ausgelesen. Dabei ist es egal, wie viele Zeilen die Datei enthält. Diese Kombination aus while-schleife und Lesebefehl wird sehr häufig verwendet. QuickC - Schnellkurs in C 14 Dieter Hägele

Öffnen einer Datei zum Schreiben #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) FILE *fp; fp = fopen("c:\\dat_out.txt", "w" ); if (fp == (FILE *)NULL ) printf("auf C:\\dat_out.txt kann nicht zugegriffen werden\n"); system("pause"); exit(1); fprintf(fp, "Zeile mit Zahlen: x = %f\n", 3.14279); fprintf(fp, "Zeile nur mit Text!\n"); fclose(fp); system("pause"); return 0; Ist das Laufwerk nicht erreichbar oder ist es schreibgeschützt, erscheint eine Fehlermeldung und das Programm wrid beendet. QuickC - Schnellkurs in C 15 Dieter Hägele