Hallo und willkommen zurück.
Ich möchte unsere Diskussion fortsetzen auf einige der Funktionen in
der Standard-c-Bibliothek.
Dies sind viele Funktionen Wir haben schon im Unterricht durchgemacht, aber ich
wollte dich daran erinnern.
Es gibt also viele wichtige verschiedene Funktionen aus der
c Standardbibliothek, die wir bereits haben während des gesamten Kurses mit
all unseren Beispielen und allen angesprochen das Zeug, das wir gelernt haben.
Wir haben viel darüber gesprochen Zeichenfolgenfunktionen.
Und einige von ihnen sind sehr einfach zu bedienen und einige werden wir viel verwenden,
daher sollten Sie mit diesen vertraut sein.
Um eine dieser Funktionen zu verwenden, Sie müssen die
Header-Datei-Zeichenfolge einfügen. h, alles ist in Zeichenfolge definiert. h.
Wir haben über str cat gesprochen.
Str cat verkettet zwei Zeichenfolgen, zwei Parameter,
zwei Zeichenzeiger.
Und es wird ein Zeichen zurückgegeben Zeiger mit dem anderen verkettet.
Platzieren Sie also ein Nullzeichen Am Ende der letzten Zeichenfolge gibt
die Funktion s1 zurück.
Str char dies sucht nach a Zeichenfolge, die ein Zeichen enthält.
Dies wird a zurückgeben Charakter Star auch.
Es ist eine gute Möglichkeit zu suchen.
Wir haben ziemlich darüber gesprochen ein bisschen mit String Cat.
Str Vergleich geht zwei Zeichenfolgen vergleichen.
Dies ist die Standardmethode, mit der Sie dies tun.
Es dauert zwei Zeiger und es gibt eine ganze Zahl zurück.
Wir hatten einige Beispiele dafür Wenn Sie im Grunde genommen Null zurückgeben,
sind die beiden Zeichenfolgen gleich.
Wenn wir größer oder kleiner zurückkehren als,
wenn Sie größer als Null werden, bedeutet dies, dass s1 normalerweise ist größer in alphabetischer Größe.
Also, wenn Sie eine Zeichenfolge übergeben, die a enthalten und dann ist die zweite
Zeichenfolge b, es würde größer als zurückgeben Null, weil oder es würde kleiner als Null werden, weil a
kleiner als b ist.
Wenn Sie b als erstes bestanden haben Parameter und c ist der zweite
Parameter eine Art Zeichenfolge Beginnend mit b oder c wird
mehr als Null zurückgegeben.
Also musst du verstehen diese Rückgabewerte.
Das ist es, was wichtig ist.
Str Kopie.
So können Sie zuweisen eine Zeichenfolge zu einer anderen Zeichenfolge.
Denken Sie daran, Zeichenfolgen, Zeiger und Zeichenarrays können
Sie die Zeichenfolge nicht direkt zuweisen Verwenden des Zuweisungsoperators.
Für ganze Zahlen und Gleitkommazahlen können Sie Verwenden Sie einfach die Gleichheitsoperatoren.
Kann das nicht mit Strings machen.
Sie müssen also str copy verwenden, wenn Sie Sie möchten einem Zeiger, Zeichenzeiger oder
Zeichenarray eine Zeichenfolge zuweisen.
Sie können ein Zeichen initialisieren Array-Literal-String-Konstante in doppelten
Anführungszeichen.
Aber danach, nach dem Initialisierung Wenn Sie
es ändern möchten, müssen Sie str copy verwenden.
Str Länge.
Eine weitere wichtige Funktion zu Holen Sie sich die Länge eines Strings.
Dies gibt eine Größe t zurück, die die ist Ganzzahl, die die Länge darstellt.
Alle diese Zeichenfolgenfunktionen Nehmen Sie Zeiger oder Zeichenarrays
als Parameter auf.
Also müssen wir verstehen wie das auch funktioniert.
Andere Zeichenfolgenfunktion strncat.
Merken Sie sich alle Funktionen die stattdessen das Ende hinzufügen, sind
etwas sicherer, weil Sie Keine Pufferüberläufe.
Also in strncat der dritte Parameter wird hinzugefügt und dies bedeutet, dass so viele
Parameter kopiert oder verkettet werden.
Normalerweise ist der dritte Parameter wird die Größe des
ersten Parameters sein, weil Sie nicht wollen etwas Größeres zu kopieren.
Diese Funktionen sollten sein wird über
die anderen String-Funktionen verwendet, weil sie es sind sicher für Pufferüberlauf.
Strn vergleichen.
Wieder werden Sie sicher vergleichen Anzahl der Zeichen für s1 und s2.
Strn Kopie, hier der dritte Parameter Ende wäre wahrscheinlich die str Länge oder
die Größe von s1.
Weil du s2 und kopieren wirst s1, aber Sie möchten nicht mehr
Bytes kopieren, als s1 aufnehmen oder speichern kann.
Str char.
Hier können Sie suchen Die Zeichenfolge für das letzte Vorkommen
eines Zeichens.
Sie bemerken also, dass dies sehr aussieht vertraut oder ähnlich dem str char, gibt es
hier ein extra r.
Also anstatt den ersten zurückzugeben Vorkommen, dies gibt das letzte
Vorkommen zurück, das Sie jedoch verwendet haben genauso wie der andere.
Str str.
Dies wird nach einer Zeichenfolge suchen.
Das ist also eine Suchfunktion wo Sie versuchen, im Wesentlichen einen
Teilstring innerhalb eines Strings zu finden.
Wieder zwei Zeichenzeiger nehmen.
Strtok.
Dies war die wichtige Funktion, wo Sie können es beim Parsen von Daten helfen.
Strtok nimmt das Trennzeichen als den zweiten Parameter und
es wird nach diesem Trennzeichen gesucht irgendwo innerhalb der Zeichenfolge.
So oft benutzt du so etwas wie ein Leerzeichen oder ein Zeilenvorschub für s2.
Es wird die Zeichenfolge in brechen eine Reihe von verschiedenen Token.
Verwenden Sie wieder, wenn Sie möchten Daten normalerweise zu analysieren.
Jedes Mal, wenn Sie strtok anrufen müssen mehrmals, bis Sie mit
null, wenn Sie noch sind Suchen Sie nach dem nächsten Token, den Sie in einer
bestimmten Zeichenfolge finden möchten.
Wir hatten auch einige wichtige Zeichenfunktionen.
Alle Zeichenfunktionen sind in ctype definiert. h.
Der Charakter funktioniert so wie wir Wird verwendet, wenn die is-Funktionen prüfen, ob ein Zeichen
vorhanden ist oder nicht ein alphanumerisches Zeichen oder ob es leer ist oder
ob es ein Steuerelement ist Zeichen eine Ziffer, gab es
eine Reihe von verschiedenen Funktionen.
Denken Sie also an diesen Typ. h erlaubt wir sollen nach diesen verschiedenen
Charakteren suchen, was sie tatsächlich sind.
Wir hatten auch einige Konvertierungsfunktionen in ctype. h, hauptsächlich unsere beiden oberen.
Zwei niedrigere nimmt ein Zeichen und es wird es
das Kleinbuchstabenäquivalent von diesem c geben.
Denken Sie daran, wir hatten eine Herausforderung, wo Wir haben Kleinbuchstaben in Großbuchstaben umgewandelt.
In dieser Herausforderung haben wir tatsächlich hinzugefügt zu unserer ASCII-Tabelle, aber wir hätten
zwei obere auf dem Zeichen nennen können.
Wir hätten zwei um die herum aufstellen können Zeichen,
solange wir ctype enthalten. h und das würde konvertiert Kleinbuchstaben in Großbuchstaben.
Wir hatten viel IO Funktionen, Eingabe und Ausgabe.
Wir haben uns auf das Lesen konzentriert und Dateien schreiben, aber
wir lesen auch Eingaben von der Tastatur und geben aus Daten an die Konsole oder den Bildschirm.
Verwenden Sie also die gängigste E / A. Funktionen, das ist alles in
der Standardio. h Header-Datei.
Diese Datei enthält Deklarationen für die verschiedene E
/ A-Funktionen sowie Definitionen für Konstanten, wie z Dateiende, Nullstandard in der
Standardausgabe und Standardfehler.
Das sind alles konstante Werte.
Es gibt auch eine Konstante für die Dateistrukturdatei.
Fclose ist eine Funktion, die wir verwendet, um unsere Streams zu schließen.
Es schließt die Datei identifiziert durch Dateizeiger.
Und es gibt Null zurück, wenn es geht Schließen Sie eine erfolgreiche, sonst eof.
Feof, das ist eine Funktion, die wir nicht haben explizit verwenden, aber das prüft, ob Sie am Ende
sind oder nicht der Datei im Gegensatz zum Vergleich mit einer Konstante
können Sie einen Feof machen.
Fflush.
Dies ist eine Funktion, die gespült wird alle Daten des internen Puffers.
Manchmal müssen Sie dies tun wenn du von vorne anfangen willst, aber im Grunde
genommen nur los wirst von irgendetwas innerhalb eines Puffers.
Wir haben auch fgetc.
Dies ist das Lesen im Einzelnen Zeichen, nimmt einen Dateizeiger.
Wir haben eine gute Position.
Dies ist ein Teil der Positionsfunktionen.
Es erhält die aktuelle Dateiposition für die
dem Dateizeiger zugeordnete Datei und speichert sie in einem f-Positionstyp, der im Standard
io definiert ist. h auch.
Wir hatten unsere Fgets.
Dies wurde in Strings gelesen.
Sehr schön, es liest Zeichen aus der angegebenen Datei, aber
Anzahl der Zeichen.
Fopen öffnet eine Datei in a Spezifischer Modus: Lesen, Schreiben
oder Anhängen mit einem Dateizeiger.
Fprintf schreibt Daten und formatiert sie Ausgabe, und es ist ähnlich der printf-Funktion, die es
nehmen wird Argumente, die vom Zeiger angegeben werden, und verwenden
dann formatierte Daten zum Schreiben.
Sie können also ganze Zahlen und Doppelte schreiben Verwenden Sie Formatbezeichner und dann Variablen,
die Sie schreiben möchten.
Wir hatten auch fputc, was wird Schreiben Sie Zeichen in eine Datei.
Fputs schreibt eine Zeichenfolge in eine Datei.
Es braucht einen Puffer und eine Datei Zeigen Sie auf das, was Sie schreiben möchten, und
auf die Datei, in die Sie schreiben möchten.
Fscanf liest Daten aus einer Datei.
Es wird die Eingabe erfassen, und Es wird das
gleiche Format wie scanf verwendet Formatbezeichner und Variablen.
Aber das ist schön, dass du willst durch Leerzeichen getrennte Daten einlesen.
Sie können fscanf verwenden und angeben Der Typ liest es also
direkt in Ints, Doubles, bestimmte Datentypen.
Fseek wird die Position verschieben von wo Sie in einer Datei zeigen.
Sie müssen also nicht am beginnen Anfang oder Ende einer Datei.
Sie können direkt zu gehen die Mitte der Datei.
Sobald Sie diese Position gesucht haben, ist Ihre Beim nächsten Lesen oder Schreiben wird
diese Position zum Schreiben oder Lesen verwendet.
Die Fset-Position ist ähnlich wie bei fseek.
Hiermit wird die aktuelle Dateiposition festgelegt
in der Datei, die dem Dateizeiger auf den Wert zugeordnet ist zeigt durch f Position, fpos.
Wir hatten auch ftell.
Ftell wird zurückkehren, wie Viele Bytes von Anfang
an basieren auf dem Dateizeiger.
Es ist also der relative Offsite in Bytes von der aktuellen Position,
nicht immer der Anfang, aber die aktuelle Position.
Wir verwenden das ftell in einem unserer Herausforderungen, eine Datei in umgekehrter Reihenfolge zu lesen.
Printf.
Wir nutzen dies wahrscheinlich mehr als jede andere Funktion.
Dies wurde angezeigt Ausgabe auf dem Bildschirm.
Es werden Formatspezifizierer verwendet und eine variable Anzahl von Argumenten,
die durch Kommas getrennt sind.
Printf ist sehr nützlich zum Debuggen und Anzeigen der Ausgabe, die Sie
innerhalb eines c-Programms ziemlich oft ausführen.
Entfernen.
Entfernen ist eine Funktion, bei der Sie können eine Datei löschen.
Es braucht einen Dateinamen.
Der Dateizeiger muss geschlossen sein.
Sie können es nicht offen haben.
Durch Umbenennen wird eine Datei in umbenannt Die andere Datei muss ebenfalls geschlossen werden. Die
Datei kann nicht geöffnet werden.
Scanf liest Eingaben von normalerweise standardmäßig über die Tastatur.
Sie können es ändern, um die Eingabe zu lesen von anderen Streams, wenn Sie möchten.
Wir hatten auch Konvertierungsfunktionen, die Wir haben während des gesamten Kurses diskutiert.
Die meisten dieser Funktionen befinden sich in der Standardbibliothek. h-Datei, Header-Datei.
Wir hatten die atof Funktion.
Dies konvertiert eine Zeichenfolge in eine float, und Sie übergeben es in einer Zeichenfolge.
Wir haben Funktionen atoi.
Diese Umwandlung a Zeichenfolge zu einer Ganzzahl.
Atol konvertiert einen String in einen long, und Sie übergeben die Zeichenfolge und
es wird entweder die Rückgabe zurückgegeben Methode, zu der Sie konvertieren.
Diese sind sehr nützlich.
Sie verwenden diese häufig zum Konvertieren Zeichenfolgen zu einer Art Zahlentyp.
Atoll wandelt es in ein langes langes int um.
Aber stellen Sie sicher, dass Sie sich die ansehen
Standard-Lib-Header-Datei für weitere Konvertierungsfunktionen.
Wir hatten unsere Gedächtnisfunktionen, unsere dynamische Speicherzuweisungsfunktionen.
Das ist wirklich wichtig.
Die dynamische Speicherzuweisung ist wichtig weil es viel effizienter ist.
Sie nutzen nur die Speicher, den Sie brauchen.
Sie erstellen keine statischen Daten.
Es ermöglicht Ihr Programm viel flexibler sein.
Alle diese Funktionen sind in der Standardbibliothek enthalten. h.
Wir haben über Calloc gesprochen.
Calloc ist eine großartige Funktion, wo Sie können eine bestimmte Größe
zuweisen, die mit n multipliziert wird.
So können Sie den Datentyp angeben auch und es wird es multiplizieren.
Das Schöne an Calloc, Es initialisiert Ihre Daten.
Also ist es Malloc wirklich vorzuziehen.
Wir haben unsere freie Funktion Dadurch wird der Speicher gelöscht.
All diese Erinnerung geht auf dem Heap erstellt werden.
Wir werden also viel unterwegs sein länger, aber es liegt an Ihnen als
Programmierer, diesen Speicher zu verwalten.
Sie wollen immer Ihre befreien Speicher, nachdem Sie es verwendet
haben, weil Speicher knapp ist Ressource in anderen Programmen und wir wollen diesen
Speicher verwenden.
Rufen Sie also immer kostenlos an Sie machen einen Calloc oder Malloc.
Malloc ist einfacher Version der Speichererstellung.
Das tut es eigentlich nicht Initialisieren Sie alle Daten.
Es wird nur die Größe als Parameter verwendet.
Es gibt einen leeren Stern zurück.
Sie müssen es also immer besetzen Genau wie bei Calloc für jede Art von
Speicher, auf den Sie zeigen.
Wenn Sie auf int oder zeigen float, das musst du werfen.
Wir haben auch Realloc.
Realloc ist großartig, weil du kannst tatsächlich zum vorhandenen Speicher hinzufügen.
Und so ist dein Speicher kann dynamisch sein.
Sie können es größer machen, wenn Sie möchten mehr Daten speichern.
Realloc nimmt einen Zeiger in der Größe.
Es wird alle Daten behalten, die Die vorherige Erinnerung zeigte auf.
Es wird neuer Speicher zugewiesen Es wird jedoch beibehalten, sodass Sie
einen vorhandenen Speicher erweitern können.
Sehr, sehr nützlich.
Beim dynamischen Erstellen von Speicher ist wird in all Ihren Programmen wirklich nützlich sein, besonders
weil Zeiger sind sehr, sehr wichtig, sie
sind viel effizienter.
Aber stellen Sie sicher, dass Sie alles verstehen Diese Header-Dateien, die wir während
des gesamten Kurses verwenden.
Dies sind die wichtigsten, die sind sehr, sehr wichtig.
Wir werden über einige neue in der sprechen Die nächsten paar Vorträge, über die wir nicht
so viel diskutieren konnten, wie ich wollte.
Aber das sind einige auch wichtige.
Vielen Dank.