Texteingabe
-
Tach erstma wollt ma fragen ob mir einer erzählen kann wie man texteingabe macht???? ich hoffe mir kann da einer helfen

-
wenn du in der Konsole arbeitest gibt es 2 Wege.
das wäre der C-Weg:
#ifdef __cplusplus // Wenn ein C++-Compiler verwendet wird #include <cstdio> #else // Andernfalls #include <stdio.h> #endif int main(int argc, char* argv[]) { char szInput[1024]; // In diese Variable wird der Text gespeichert. printf("Geben Sie einen Text ein!\n"); Kleine Anweisung, nicht benötigt, nur zum Spaß scanf("%s", szInput); // Hier wird der Text von der Tastatur eingelesen, bis [Return] gedrückt wird. printf("Eingegebener Text: %s\n", szInput); // Hier wird der eingegeben Text nochmal ausgegeben, auch das ist nicht unbedingt notwendig scanf(""); // Damit das Programm nicht gleich beendet wird return 0; // Beenden }und mit C++ sieht das so aus:
#include <iostream> int main(int argc, char** argv) { char szBuffer[1024]; // Wieder die Variable zum Speichern std::cout << "Geben Sie einen Text ein!" << std::endl; // Wieder der Text, der ausgegeben wird std::cin >> szBuffer; // Hier wird die Eingabe von der Tastatur gelesen std::cout << "Eingegebener Text: " << szBuffer << std::endl; // Hier wird zur Kontrolle nochmal alles ausgegeben std::cin.get(); // Damit das Programm nicht gleich beendet wird return 0; // Beenden }Für die Windows-Variante solltest du bei WinAPI, MFC oder "Andere GUIs" nachfragen.
-
Danke wenn mir jetz auch einer erzählt wie ich den eingegebenen text wieder ausgebe bin ich vollkommen zufrieden

-
Äh. Das steht eine Zeile unter der Eingabe, in beiden Beispielen.
-
-
ok, also jetzt die 3. Version:
#include <iostream> #include <string> int main(int argc, char** argv) { std::string szBuffer; // Wieder die Variable zum Speichern std::cout << "Geben Sie einen Text ein!" << std::endl; // Wieder der Text, der ausgegeben wird std::cin >> szBuffer; // Hier wird die Eingabe von der Tastatur gelesen std::cout << "Eingegebener Text: " << szBuffer.c_str() << std::endl; // Hier wird zur Kontrolle nochmal alles ausgegeben std::cin.get(); // Damit das Programm nicht gleich beendet wird return 0; // Beenden }auch wenn ich nicht so sehr von der STL überzeugt bin.
die STL gehört nicht zum C/C++ Standard und ist Compilerabhängig (zumindest so weit ich weiß)
außerdem:
wenn man immer nur mit STL arbeitet, wird man nie verstehen, was eigentlich hinter dem System steckt.
-
Hallo
die STL gehört nicht zum C/C++ Standard
Falsch. Das Interface und damit die Bedeutung der STL ist sehr wohl standardisiert. Die Implementation ist hingegen in der Tat compilerabhängig.
Verstehen ist das eine, effizient arbeiten das andere. Warum sollte jemand die 1000. String-Klasse neu schreiben, die doch nichts anderes kann als die STL-Variante?bis bald
akari