Datei nach bestimmter Buchstaben Kombination durchsuchen
-
Für system() braucht man cstdlib und "PAUSE" ist ja nur eine Systemfunktion. Wenn man unter Windows in der cmd.exe einfach PAUSE eingibt und abschickt, wird man aufgefordert eine beliebige Taste zu drücken. Da "PAUSE" auch nur ein Stringliteral ist, sollte dafür kein Windows-Header nötig sein. Unter Linux-Systemen wird das auch kompilieren, aber ich glaube auf Linux-Systemen gibt es kein PAUSE, somit ist es nicht portabel.
Hier noch 2 FAQ-Einträge zu system bzw. Pause:
Automatisches Schließen verhindern
wieso man die Funktion system meiden soll// zu langsam...
Greetz
-
Aber naja, jedem das seine. Ich schreibe es halt lieber einmal zu wenig hin, als einmal zu viel

Du meinst wohl sicherlich, du schreibst std:: einmal mehr hin als einmal zu wenig?
-
Firefighter schrieb:
Aber naja, jedem das seine. Ich schreibe es halt lieber einmal zu wenig hin, als einmal zu viel

Du meinst wohl sicherlich, du schreibst std:: einmal mehr hin als einmal zu wenig?
Nein, ich shcreib halt lieber einmal
using namespace std;zu wenig hin, als einmal zu viel
Gut, ich hätte das "es" näher spezifizieren sollen, ich korrigiere es mal schnell.Grüssli
-
Achhsooo...ja ok,lass uns daraus aber keine Grundsatzdiskussion entstehen sonst hat der Thread nachher wieder 200mrd Seiten :p. Jetzt weiß ich ja was du meinst.:)
-
Firefighter schrieb:
Achhsooo...ja ok,lass uns daraus aber keine Grundsatzdiskussion entstehen sonst hat der Thread nachher wieder 200mrd Seiten :p. Jetzt weiß ich ja was du meinst.:)
Nein, auf gar keinen Fall. Ich wollte nur dass der Threadersteller noch eine andere Meinung hört/liest. Die meisten Anfänger nutzen dann allerdings trotzdem
using namespace std;weiter, weil sie zu faul sind. Bringt also nicht viel, aber was solls
Man sollte vielleicht mal einen FAQ Beitrag machen, wo alle Argumente für und dagegen der verschiedenen Parteien aufgelistet sind. Dann könnte man jeweils nur noch darauf verweisen.

Aber das wird nun ein wenig sehr Off-Topic ...Grüssli
-
Mhhm ist leider nicht das was ich meinte.
Wenn in dem string z.b. nur diese 2 Buchstaben stehen "ha"
Dann soll das Programm in der Datei gucken welches Wort mit "ha" anfängt.Wenn es diese Stelle gefunden hat dann soll es das Komplette Wort aus der Datei auslesen. Also ha = Haus
z.b. als Programm Ausgabe
cout<<"ha ist die abkürzung für " << variable <<"und steht an position "<<position; // variable = haus
-
Hab so eine funktion auch schon mal verwendet. Hab des mal in deinen Code eingefügt wie ich es verwendet habe, habs jedoch noch ned getestet:
for (int i=0;i<3;i++){ getline(datei,zeile[i] ); cout<<zeile[i]<<endl; if(found = zeile[i].find("test", 0) != string::npos){ cout<<"test wurde gefunden"; break; }; }
-
Danke funktioniert ich musste es nur etwas ab ändern.#include <iostream> #include <fstream> using namespace std; int main(int argc, char* argv[]) { ifstream datei("test.txt"); string zeile[200]; string str; size_t found; for (int i= 0;i<5;i++) { getline(datei,zeile[i] ); if( found = zeile[i].find("te", 0) != string::npos) { cout<<"te= "<<zeile[i]<<" und steht an Position: "<<i+1<<endl; }; } system("PAUSE"); }
-
Eine frage noch zu string::npos
Bedeutet das dass npos zu der Klasse string gehört ?
-
http://www.cplusplus.com/reference/string/string/npos/
Es ist eine statisch konstante Variable vom Klassentemplate
std::basic_string.Grüssli