C ++ ist eine schnelle und eine der ältesten Programmiersprachen ideal für die Entwicklung von Betriebssystemen. Es bietet hohe Leistung und hohe Geschwindigkeit und deckt verschiedene Arten von Anwendungen ab. Es bietet eine sehr fortschrittliche Syntax, die sich komplex und schwer zu lernen macht. Die integrierte Funktionalität ist jedoch sehr hilfreich, um jede Art von Anwendung zu erstellen. Das Konvertieren von Zahlen aus Zeichenfolgen aus Zahlen ist eine ziemlich verwirrende Aufgabe. Daher benötigen wir einige Funktionen. Hier lernen wir, die SSCANF -Funktion zu verwenden, um eine Eingabe in einen bestimmten Ausgangstyp umzuwandeln.
Die SSCANF C ++ - Funktion
Die SSCANF -Funktion ist eine der am häufigsten verwendeten C ++ - Funktionen zum Konvertieren von Zahlen in Zeichenfolgen. Es wird vom Benutzer oder dem Puffer eingegeben, die Zeichenfolge in eine INT umgewandelt und in einer angegebenen Variablen gespeichert. In einfachen Worten interpretiert es die Eingabe entsprechend dem Format und speichert den resultierenden Wert an einem bestimmten Ort. Wenn Sie eine ähnliche Funktion wie Scanf ausführen, die Eingabe jedoch anstelle der Standardeingabe aus dem Puffer liest.
Siehe die folgende vollständige Syntax der SSCANF -Funktion, die von der C ++ - Programmierungssprache bereitgestellt wird:
Die SSCANF -Funktion nimmt mindestens zwei Eingabeargumente und eine Liste optionaler Argumente vor. Das optionale Argument bedeutet, dass sie übersprungen werden können, wenn nicht erforderlich. Es liest die Daten aus dem "Eingabe" -Puffer im "Format" -Format in den von der "argument_list" angegebenen Speicherort, der angegeben ist. Der Parameter oder Argument „Eingabe“ repräsentiert die Zeichenfolge der Funktion, mit der die Daten abgerufen werden. Der Parameter „Format“ repräsentiert die Formatzeichenfolge.
Das Format des "Format" -Spixierers lautet wie folgt:
Es beginnt mit einem % Zeichen, gefolgt von *, was ein Zuordnungsunterdrückungscharakter ist. Die Felder Breite und Länge sind optional und können übersprungen werden. Wenn die SSCANF -Funktion bereitgestellt wird, verbraucht die maximale Anzahl von Zeichen nur, die durch die „Breite“ angegeben sind. Das Feld „Länge“ definiert die Empfangsargumentation. Der Spezifizierer_Name enthält das Spezifikatorcharakter (C, S, D usw.) Bei der Angabe des Konvertierungstyps. Das "Argument_List" kann mindestens ein zusätzliches Argument enthalten. Es hängt von der Zeichenfolge "Format" ab.
Die SSCANF -Funktion gibt die drei Arten von Ergebnissen zurück - die erfolgreich zugewiesenen Empfangsargumente im Falle einer erfolgreichen Funktion, Null bei einem Matching -Fehler und EOF im Falle eines Eingangsfehlers. Lassen Sie uns nun einige nützliche Beispiele untersuchen, um die Verwendung der SSCANF -Funktion von C zu lernen++.
Beispiel 1:
Dies ist ein sehr einfaches und grundlegendes Beispiel für die SSCANF -Funktion. Eine Zeichenfolge wird einer Variablen zugewiesen, die an die SSCANF -Funktion übergeben wird. Das „int a“ wird definiert, um das Ergebnis der SSCANF -Funktion zu halten. Sehen Sie den folgenden Code und verstehen Sie jede Codezeile.
Nach der Einbeziehung der iOstream -Header -Datei wird die Main () -Methode eingeleitet. Die Zeichenfolge „S = 104785“ wird initialisiert und an die SSCANF -Funktion SSCANF (S, "%d", & a) übergeben. Der %d repräsentiert das Umrechnungsformat. Und „A“ wird bereitgestellt, um das Ergebnis zu halten.
#enthalten
Verwenden von Namespace STD;
int main ()
const char* s = "104785";
int a;
SSCANF (S, "%d", & a);
Cout << "\nThe converted value of "<Rückkehr 0;
Die Ausgabe ist hier zu sehen. Die Zeichenfolge „104785“ wird in die Dezimalzahl „104785“ umgewandelt.
Beispiel 2:
In diesem Beispiel lesen wir den Float und den Double Float mit derselben SSCANF -Funktion. Eine Zeichenfolge wird einer Variablen zugewiesen, die an die SSCANF -Funktion zur Formatkonvertierung übergeben wird. Siehe den folgenden Code, um die Funktion von SSCANF mit Float und Double Float -Nummern zu verstehen.
Beachten Sie, dass %d im vorherigen Beispiel als „Formatspezifizierer“ verwendet wird. In diesem Beispiel werden %f und %lf verwendet. Der %f wird verwendet, um die Eingabe in eine Schwimmerzahl umzuwandeln, und %LF wird verwendet, um die Zahl in eine Doppelfloat -Nummer umzuwandeln.
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
const char* s = "104785.54 ";
float a;
SSCANF (S, "%f", & a);
printf ("\ nThe Float -Wert ist: %f", a);
doppelt b;
SSCANF (S, "%lf", & b);
printf ("\ nThe Double Float -Wert ist: %f", b);
Rückkehr 0;
Überprüfen Sie die im Folgenden angegebene Ausgabe:
Beachten Sie, dass die Ausgabe nach dem Dezimalplatz für den Schwimmer und für den Doppelschwimmer unterschiedlich ist. Dies liegt daran. Während der Doppelfloat das genau berechnete Ergebnis liefert, geht es nur um Zuverlässigkeit und Genauigkeit. Es ist jedoch etwas langsamer als Schwimmer.
Beispiel 3:
Lassen Sie uns mit einigen Array -Daten spielen. In diesem Beispiel wird die Eingabe in Form eines Arrays bereitgestellt und in einfache Zeichenfolgen umgewandelt. Der %S -Formatspezifizierer wird verwendet, um die Eingabe in eine Zeichenfolge umzuwandeln. Wir verwenden also den %s als Formatspezifizierer hier. Zwei leere Arrays werden definiert, um den Ausgang - FN [10] und LN [10] zu halten -. Das Folgende ist der Code.
Hier wird ein Name, der aus Vorname und Nachname besteht. Wenn Sie das Codeprogramm ausführen, bemerken Sie jedes Element des Arrays separat. Da nur zwei Ausgangsfelder definiert sind (FN und LN), werden die beiden Array -Elemente vom Programm angezeigt. Das FN [10] -Array enthält den Vornamen "Daniyal". Und das LN [10] -Array enthält den Nachnamen "Privater".
#enthalten
int main ()
char fn [10], ln [10];
Char buf [] = "Daniyal Privater";
SSCANF (BUF, " %s %s", fn, ln);
printf ("Der Vorname ist: %s \ n Der Nachname ist: %s \ n", fn, ln);
Rückkehr 0;
Die Ausgabe dieses Beispiels ist im Folgenden dargestellt:
Wie Sie sehen können, wird der Array -Wert "Daniyal Privater" in zwei Zeichenfolgen umgewandelt - "Daniyal" und "Privater" - durch den %S -Formatspezifizierer.
Abschluss
In diesem Tutorial geht es um die SSCANF -Funktion. Hier haben wir gelernt, wie man die SSCANF -Funktion effizient verwendet, um die Daten zu konvertieren. Die SSCANF -Funktion nimmt die Eingabe aus dem Puffer und wandelt sie in den angegebenen Ausgangstyp um. Abhängig vom "Format" -Pezier benötigt es drei oder mehr oder mehr Argumente. Der Eingangswert ist der erste Parameter, und der Formatspezifizierer ist der zweite. Es unterrichtet die Funktion der Art der Konvertierung. Der dritte Parameter ist optional. Es kann ein Argument oder eine Liste mehrerer Argumente sein, abhängig vom Spezifizierer „Format“. Es gibt die drei Arten von Ergebnissen zurück - die empfangenden Argumente, Null oder EOF (Ende der Datei). Das SSCANF ist eine sehr einfache und einfache Funktion von C ++, die für Conversions verwendet wird.