Bei der C-Programmierung ist es oft erforderlich, mit Dateien zu arbeiten. Einer der ersten Schritte beim Arbeiten mit Dateien besteht darin, einen Dateinamen über die Tastatur einzugeben. Dies ist nützlich, wenn Sie dem Benutzer die Möglichkeit geben möchten, selbst den Dateinamen auszuwählen, mit dem das Programm arbeiten soll.
Verwenden Sie die Funktion, um einen Dateinamen über die Tastatur in C einzugeben scanf mit einer Formatzeichenfolge, die das gewünschte Dateneingabeformat angibt. Normalerweise wird ein Formatbezeichner für eine Zeichenfolge verwendet %s. In diesem Fall verwenden wir ein Zeichenarray, um den Dateinamen zu speichern.
Jetzt kann der Benutzer einen Dateinamen eingeben und er wird in einem Zeichenarray gespeichert filename. Beachten Sie, dass in diesem Beispiel die Länge des Dateinamens auf 100 Zeichen begrenzt ist. Sie können diese Größe je nach Ihren Bedürfnissen ändern.
Geben Sie einen Dateinamen über die Tastatur ein
Beim Schreiben von C-Programmen müssen Sie häufig den Dateinamen über die Tastatur eingeben. Dies kann beispielsweise zum Öffnen oder Erstellen einer Datei zum Lesen oder Schreiben von Daten erforderlich sein.
Sie können die scanf-Funktion mit dem entsprechenden Formatbezeichner verwenden, um einen Dateinamen über die Tastatur in C einzugeben. Anwendungsbeispiel:
#include int main()
In diesem Beispiel deklarieren wir ein Array von filename mit einer Größe von 100 Zeichen, in dem eine Zeichenfolge mit dem Dateinamen gespeichert wird. Verwenden Sie dann die Funktion printf, um eine Meldung auf dem Bildschirm anzuzeigen, in der Sie aufgefordert werden, einen Dateinamen einzugeben. Die scanf-Funktion liest den über die Tastatur eingegebenen Wert ein und speichert ihn im Array filename . Verwenden Sie dann die Funktion printf, um den eingegebenen Dateinamen anzuzeigen.
Beachten Sie bei der Verwendung der scanf-Funktion die folgenden Punkte:
- Der Dateiname muss ohne Leerzeichen eingegeben werden.
- Wenn der Dateiname Leerzeichen oder andere Sonderzeichen enthält, müssen Sie diese mit Escapesequenzen eingeben, z. B. für das Leerzeichen - \ .
- Die Datei mit dem angegebenen Namen muss in dem Verzeichnis vorhanden sein, aus dem das Programm ausgeführt wird. Andernfalls kann das Programm die Datei nicht öffnen oder erstellen.
Jetzt wissen Sie, wie Sie einen Dateinamen mit der Tastatur in C eingeben. Dies ist eine nützliche Fähigkeit, wenn Sie mit Dateien in C-Programmen arbeiten. Viel Spaß beim Programmieren!
Verwenden der Scanf-Funktion
Sie können den Formatbezeichner "%s" innerhalb der scanf-Funktion verwenden, um eine Zeichenfolge einzugeben, die den Dateinamen darstellt. Im folgenden Beispiel wird veranschaulicht, wie die scanf-Funktion verwendet wird, um eine Zeichenfolge einzugeben, gefolgt von der Ausgabe des eingegebenen Werts:
In diesem Beispiel ist die Variable filename als Array von Zeichen der Größe 100 deklariert. Die printf-Funktion wird verwendet, um eine Eingabeaufforderung auszugeben. Die scanf-Funktion liest dann eine Zeichenfolge mit dem Formatbezeichner "%s" und speichert den eingegebenen Wert in der Variablen filename. Schließlich gibt die printf-Funktion den eingegebenen Dateinamen aus.
Wichtig zu beachten, dass die scanf-Funktion warten bleibt, bis der Benutzer die Daten eingibt und die Eingabetaste drückt. Das bedeutet, dass der eingegebene Dateiname keine Leerzeichen enthalten darf, da die scanf-Funktion das Lesen des ersten Leerzeichens stoppt.
Sie sollten auch vorsichtig sein, wenn Sie die scanf-Funktion verwenden, um einen Pufferüberlauf zu vermeiden. Im obigen Beispiel ist die Größe des Arrays filename auf 100 festgelegt, um genügend Platz für die Eingabe des Dateinamens zu bieten.
Die Verwendung der scanf-Funktion zum Eingeben eines Dateinamens über die Tastatur bietet eine einfache und bequeme Möglichkeit, mit dem Benutzer zu interagieren und Eingaben in einem Programm in der Programmiersprache C abzurufen.
Verwenden der fgets-Funktion
Die Syntax der fgets-Funktion lautet wie folgt:
char *fgets(char *str, int n, FILE *stream);
- str ist ein Zeiger auf das Zeichenarray, in das die Zeichenfolge geschrieben werden soll
- n ist die maximale Anzahl von Zeichen, die gelesen werden können
- stream ist ein Zeiger auf den Stream, von dem aus gelesen wird. In unserem Fall ist es stdin (Standardeingabe)
Die Funktion fgets liest eine Zeichenfolge aus dem Zeichenstrom, bis die maximale Anzahl von Zeichen erreicht ist, bis das Zeilenumbruch ' ' oder das Ende der Datei erreicht ist. Die gelesene Zeichenfolge wird in einem Zeichenarray gespeichert, auf das str zeigt. Die Zeichenfolge wird mit dem Nullzeichen '\0' beendet.
Beispiel für die Verwendung der Funktion fgets zum Eingeben eines Dateinamens:
#include #define MAX_LENGTH 100int main()
In diesem Beispiel deklarieren wir zunächst ein Array von filename-Zeichen mit ausreichender Länge, um den Dateinamen zu speichern. Verwenden Sie dann die Funktion fgets, um die Zeichenfolge von der Tastatur in dieses Array zu lesen. Am Ende geben wir die gelesene Zeile auf dem Bildschirm aus.
Es ist wichtig zu beachten, dass die Funktion fgets das Zeilenumbruchzeichen ' ' in der gelesenen Zeichenfolge speichert, wenn Platz im Puffer vorhanden ist. Sie können die Funktion strcspn verwenden, um dieses Zeichen zu entfernen :
#include #include #define MAX_LENGTH 100int main()
In diesem Code verwenden wir die Funktion strcspn , um die Position des Zeilenumbruchs ' ' zu finden und sie durch das Nullzeichen '\0' zu ersetzen.
Jetzt können wir den gelesenen Dateinamen verwenden, um die Datei weiter zu bearbeiten, z. B. um eine Datei zu öffnen oder ihren Inhalt zu lesen.
Verarbeiten des eingegebenen Dateinamens
Nachdem der Benutzer einen Dateinamen über die Tastatur eingegeben hat, müssen Sie diesen Namen bearbeiten, um die Datei weiter bearbeiten zu können. Dazu können Sie Funktionen aus der C-Standardbibliothek verwenden.
Eine dieser Funktionen ist die Funktion fopen. Es ermöglicht Ihnen, eine Datei mit dem angegebenen Namen zum Lesen oder Schreiben zu öffnen. Die Funktion gibt einen Zeiger auf eine geöffnete Datei zurück, die Sie in nachfolgenden Dateioperationen verwenden können.
Bei Verwendung der Funktion fopen beachten Sie, dass der Dateiname korrekt und an der richtigen Stelle sein muss. Wenn die Datei nicht vorhanden ist oder sie aus anderen Gründen nicht geöffnet werden konnte, gibt die Funktion NULL zurück. In diesem Fall müssen Sie den Fehler behandeln und den Benutzer darüber informieren.
Sie können auch überprüfen, ob der eingegebene Dateiname auf ungültige Zeichen, z. B. Zeilenvorschübe oder Leerzeichen, gültig ist. Dazu können Sie die Funktion verwenden strpbrk. Es ermöglicht Ihnen, das erste Vorkommen eines beliebigen Zeichens aus einem bestimmten Zeichensatz in einer Zeichenfolge zu finden. Wenn die Funktion einen Zeiger auf ein ungültiges Zeichen zurückgibt, wurde der Dateiname falsch eingegeben.
Nachdem Sie den Dateinamen verarbeitet und mit der Funktion geöffnet haben fopen Sie können die Datei weiterhin bearbeiten, aus der Datei lesen oder in die Datei schreiben, je nach den Anforderungen des Programms.
Beispiel für eine detaillierte Implementierung der Verarbeitung eines eingegebenen Dateinamens:
#include #include int main() file = fopen(filename, "r");if (file == NULL) // Дальнейшая работа с файлом. fclose(file);return 0;>
Beispielcode
Hier ist ein Beispielcode in C-Sprache, der es dem Benutzer ermöglicht, einen Dateinamen über die Tastatur einzugeben:
#include int main()
In diesem Beispiel deklarieren wir eine Variable filename vom Typ char und haben eine Größe von 50 Zeichen. Mit der printf-Funktion werden Sie aufgefordert, einen Dateinamen einzugeben. Dann lesen wir mit der scanf-Funktion den eingegebenen Dateinamen ein und speichern ihn in der Variablen filename . Schließlich zeigen wir mit der Funktion printf den eingegebenen Dateinamen zur Bestätigung an.