videos/musik/pic's in strings speichern?
-
moped schrieb:
Hier die Eingabe, wie sie bei mir ist...oben habe ich einen Teil vergessen...
void Eingabe() { int druck; datei.open (pfad.c_str(), ios::app); cout<<"Wieviele Filme moechten Sie hinzufuegen?\t"; cin>>x; for (int i=0; i<x; i++) { cout<<"Name des Filmes:\t"; getline(cin, Fname); datei<<Fname<<endl; cout<<"Trailer:\t"; getline(cin, Mname); datei<<Mname<<endl; } while(100) { druck=getch(); if (druck==13) { break; datei.close(); } } cout<<"\n\n\n"<<endl;Ich habe allerdings noch eine Frage:
Ist es möglich einen Browser aufzurufen und dabei direkt auch eine Suchanfrage auf der aufgerufenen Seite zu starten?Beispiel:
cout<<"Geben Sie den zu suchenden Film ein:\t"; cin>>movie; ShellExecute(NULL,"open","http://www.film.de/search",NULL,NULL,SW_SHOW);Wenn ich dann dort eingebe "Spiderman" dann soll die Seite film.de aufgerufen werden und es soll nach "Spiderman" auf dieser Seite gesucht werden. Geht das? Falls ja, wie?
-
[quote="moped"]
moped schrieb:
Ist es möglich einen Browser aufzurufen und dabei direkt auch eine Suchanfrage auf der aufgerufenen Seite zu starten?
Na ja, du kannst ja zumindest per Konsole den Browser deiner Wahl mit Webadresse als Kommandozeilenparameter aufrufen.
//startet den IE und ruft Google auf: c:\program files\internet explorer\iexplore.exe www.google.deEine Suchanfrage könntest du bestimmt per URL-Variablen starten (also mit "?" und "&").
Aber ich schätze, da gibt's programmtechnisch bessere Alternativen, keine Ahnung.
-
Ja, wie man den Browser aufruft weiß ich....
ShellExecute(NULL,"open","http://www.film.de/search",NULL,NULL,SW_SHOW);Würde mich freuen, wenn mir jemand die Fragen aus der vorherigen Post beantworten könnte.
-
das problem ist !datei.eof() schöner wäre sowas wie
while(getline(datei,string)) { //tu was }mit eof() ließt er immer noch ein letztes mal etwas ein
-
moped schrieb:
Ja, wie man den Browser aufruft weiß ich....
ShellExecute(NULL,"open","http://www.film.de/search",NULL,NULL,SW_SHOW);Würde mich freuen, wenn mir jemand die Fragen aus der vorherigen Post beantworten könnte.
Deine Frage war ja auch, wie man direkt eine Suchanfrage starten kann. Und das geht (zumindest bei einigen Webseiten), wie erwähnt, per URL.
//ruft Google auf und sucht nach "HelloWorld" iexplore.exe http://www.google/search?q=HelloWorldWenn du das schon wusstest, warum fragst du dann?
-
_matze schrieb:
moped schrieb:
Ja, wie man den Browser aufruft weiß ich....
ShellExecute(NULL,"open","http://www.film.de/search",NULL,NULL,SW_SHOW);Würde mich freuen, wenn mir jemand die Fragen aus der vorherigen Post beantworten könnte.
Deine Frage war ja auch, wie man direkt eine Suchanfrage starten kann. Und das geht (zumindest bei einigen Webseiten), wie erwähnt, per URL.
//ruft Google auf und sucht nach "HelloWorld" iexplore.exe http://www.google/search?q=HelloWorldWenn du das schon wusstest, warum fragst du dann?
Sorry...habe das mit ?/& übersehen....hab das jetzt gelöst

Bleibt jetzt das Problem mit !datei.eof())
while(getline(datei,string)) { //tu was }Mein Lehrer meint, es wäre besser es weiterhin mit !datei.eof()) zu lösen...die lösung wollte er aber nicht preisgeben. Es scheint da eine Möglichkeit mit gotoxy zu geben...
-
wat? inner Datei mit gotoxy?Kannste vergessen, nimm das was ich dir gesagt das ist die eigentlich beste lösung

-
moped schrieb:
Mein Lehrer meint, es wäre besser es weiterhin mit !datei.eof()) zu lösen...die lösung wollte er aber nicht preisgeben. Es scheint da eine Möglichkeit mit gotoxy zu geben...
Wenn ich mich nicht ganz stark irre, ist gotoxy doch dazu da, in der Konsole die Cursorposition zu setzen, richtig? Das ändert aber an deinem Schleifenproblem nix. Oder will er etwa, dass du nach dem letzten Durchlauf nochmal an die entsprechende Position gehst und die überflüssige Zeile mit Leerzeichen überschreibst?! Unnötig unsauber...
Probier lieber Firefighters Vorschlag aus, das hört sich doch vernünftiger an!
P.S.: Ich persönlich habe die Erfahrung gemacht, dass viele (nicht alle) Lehrer eher schlechte Programmierer sind. Unser C++-Lehrer in der Berufsschule (allerdings nur Ausbildung zum Informatikkaufmann) war nicht in der Lage, mit zu sagen, wie ich ein int in einen String konvertieren kann!! Der Mann war höchst unfähig! Ohne deinen Lehrer schlecht reden zu wollen, aber ich bin sicher, hier im Forum findest du fähigere Leute.
-
So kleines Beispiel wie ich eine datei einlese solange wie es was zu lesen gibt.
#include<iostream> #include<string> #include<fstream> int main() { std::string zeile; std::ifstream datei("test.txt");//diese Datei hat 800mio Zeilen und 250GB :) while(getline(datei,zeile)) { std::cout<<"Zeile war: "<<zeile<<std::endl; } return 0; }
-
Deine Schleife könnte also so aussehen:
while (getline(datei, Fname)) //fahre fort, solange es wat zu lesen gibt! { cout<<"\n\nFilmname: "<<Fname; //Fname ausgeben if(getline(datei, Mname)) //versuchen, Mname einzulesen. wenn geglückt, dann... { cout<<"\nTrailer: "<<Mname; //...Mname ausgeben... }else { continue; //...sonst Schleifendurchlauf verlassen und neuen Durchlauf starten } }
-
Wenn ich mich nicht ganz stark irre, ist gotoxy doch dazu da, in der Konsole die Cursorposition zu setzen, richtig? Das ändert aber an deinem Schleifenproblem nix. Oder will er etwa, dass du nach dem letzten Durchlauf nochmal an die entsprechende Position gehst und die überflüssige Zeile mit Leerzeichen überschreibst?! Unnötig unsauber...
Ja, gotoxy ist für die cursorposition in der Konsole zuständig.
Er meinte auch, dass dies eine "Hausfrauen"- Variante wäre (hat jdm. aus der Klasse gemacht) aber auch, dass es eine elegantere Lösung gebe.Probier lieber Firefighters Vorschlag aus, das hört sich doch vernünftiger an!
P.S.: Ich persönlich habe die Erfahrung gemacht, dass viele (nicht alle) Lehrer eher schlechte Programmierer sind. Unser C++-Lehrer in der Berufsschule (allerdings nur Ausbildung zum Informatikkaufmann) war nicht in der Lage, mit zu sagen, wie ich ein int in einen String konvertieren kann!! Der Mann war höchst unfähig! Ohne deinen Lehrer schlecht reden zu wollen, aber ich bin sicher, hier im Forum findest du fähigere Leute.
Also ich würde nicht sagen, dass mein C++-Lehrer unfähig ist

@Firefighter
Das geht doch nur bei EINEM string? Ich muss aber 2 Strings (jeweils nacheinander) ausgeben.
-
_matze schrieb:
Deine Schleife könnte also so aussehen:
while (getline(datei, Fname)) //fahre fort, solange es wat zu lesen gibt! { cout<<"\n\nFilmname: "<<Fname; //Fname ausgeben if(getline(datei, Mname)) //versuchen, Mname einzulesen. wenn geglückt, dann... { cout<<"\nTrailer: "<<Mname; //...Mname ausgeben... }else { continue; //...sonst Schleifendurchlauf verlassen und neuen Durchlauf starten } }cool, danke

Irgendwie steh ich in letzter Zeit zu oft auf dem Schlauch
-
joa is ja kein thema ob einer x strings. Du kannst ja innerhalb der while immernoch sagen getline(datei,deinzweiterstring) und schon gehts mit 2

-
moped schrieb:
_matze schrieb:
Deine Schleife könnte also so aussehen:
while (getline(datei, Fname)) //fahre fort, solange es wat zu lesen gibt! { cout<<"\n\nFilmname: "<<Fname; //Fname ausgeben if(getline(datei, Mname)) //versuchen, Mname einzulesen. wenn geglückt, dann... { cout<<"\nTrailer: "<<Mname; //...Mname ausgeben... }else { continue; //...sonst Schleifendurchlauf verlassen und neuen Durchlauf starten } }cool, danke

Irgendwie steh ich in letzter Zeit zu oft auf dem Schlauch
Aus dem continue kannst du übrigens ein break machen. Wenn das zweite getline fehlschlägt, bringt ein erneutes Durchlaufen der Schleife natürlich nix mehr. Ich hatte an Filme ohne Trailer gedacht. Aber wir lesen ja hier zeilenweise und abwechselnd ein, da darf es keine Filme ohne Trailer geben (und wenn's nur ein "leer"-Eintrag ist).