PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : c++ Befehl und syntax überprüfung



K0rnbr0t
15-06-2006, 15:58
Moin leute,
also weil ich ja neu bin kenne ich ja nicht viele Befehle. Deswegen frage ich euch
weil ich es nicht weiß und schon ein bissel ghesucht habe.

also :

Ich nutze : Dev-c++ 4.9.9.2 beta
Sprach : C++

Ich suche ein befehl, Womit ich eine datei downloaden kann.

Und zweitens,
Geht folgender Syntax?



do
{
switch(menu)
{
case '1' : .....
case '2' : .....
default :
std::cout << "Falsche anweisung";
<< endl;
<< "Zum Fortfahren taste drücken...";
getch();
break;
}
}while(menu!=1,2)


Es soll folgender massen aussehen (programmablauf)
http://img103.imageshack.us/img103/4133/algorithmus0ub.th.png (http://img103.imageshack.us/my.php?image=algorithmus0ub.png)


Mich würde ja interessieren , ob ich zwei zahlen auf ungleichheitüberprüfen kann.

mfg,
K0rnbr0t

bischi
15-06-2006, 16:13
Ich suche ein befehl, Womit ich eine datei downloaden kann.
Kommandozeilenprogramm wget verwenden ist am einfachsten...


Und zweitens,
Geht folgender Syntax?



do
{
switch(menu)
{
case '1' : .....
case '2' : .....
default :
std::cout << "Falsche anweisung";
<< endl;
<< "Zum Fortfahren taste drücken...";
getch();
break;
}
}while(menu!=1,2)


ne - aber das hättest du gemerkt, wenn dus ausgetestet hättest...


Mich würde ja interessieren , ob ich zwei zahlen auf ungleichheitüberprüfen kann.


Yep - kannst du:



while((menu!=1) && (menu!=2))


bedeutet: Solange menu nicht eins ist und solange menu nicht 2 ist, mache...

MfG Bischi

K0rnbr0t
15-06-2006, 16:19
cool danke dann kann ich ja weiter machen :)
aber was ist mit wget??? muss ich eine header-datei anhängen???
P.S. Das tool soll unter Linux Funktionieren

bischi
15-06-2006, 16:22
Ne - wget ist ein Kommandozeilentool. Kannst du aber über c++ aufrufen (Befehl weiss ich gerade nicht mehr - hatten wir aber glaub ich schon mal... -> Forensuche)

MfG Bischi

PS: Funktionen heissen glaub ich spawnl() oder spawn() - bin mir aber überhaupt nicht sicher...

K0rnbr0t
15-06-2006, 16:25
okay ich gucke mal

K0rnbr0t
15-06-2006, 16:29
könnt ihr mir nicht die syntax sagen???

wget ......

ich glaube es sieht so aus :


wget ftp://blablubb.de/datei (Jetzt will er sie ja laden , bloß wie kann ich sie entscheiden wo sie abgespeichert werden soll?)

bischi
15-06-2006, 16:41
Ein

wget -help

dürfte weiterhelfen...

MfG Bischi

PS: Eigentlich wäre hier ein RTFM passend gewesen...

K0rnbr0t
15-06-2006, 16:42
ok ich werde auch jetzt aufhören zu schreiben :p

Joghurt
16-06-2006, 09:55
Ich suche ein befehl, Womit ich eine datei downloaden kann.Ich denke mal, dass du für solche Programme mit einer "Skriptsprache" wie z.B. Python, Java oder Ruby glücklicher wirst.

Du kannst (fast) alles machen, was auch in C++ geht (außer Treiber/3D-Engines schreiben) und du hast in der Regel eine sehr gute Standardbibliothek mit jeder Menge Funktionen, die dir viel Arbeit abnehmen. Sicher, auch für C++ gibt es viele Nützliche Libraries (in deinem Falle z.B. cURL zum Downloaden von Dateien), aber Skriptsprachen in auch viel einfacher zu debuggen.

Z.B. kannst du mit Python so Google Earth runterladen:
import urllib
import sys
ifile = urllib.urlopen("http://dl.google.com/earth/GE4/GoogleEarthWin.exe")
ofile = file("GoogleEarthWin.exe","wb")
while True: # Python hat als eines seiner wenigen Mankos kein do/while
r = ifile.read(10240)
if r == '':
break # fertig
ofile.write(r)
sys.stderr.write(".") # Fortschritt anzeigen
ofile.close()

K0rnbr0t
17-06-2006, 11:44
bloß skriptsprachen sind sehr komplex und dann müsste ich (wieder :( ) was neues lernen (und das brauicht seine zeit)

Joghurt
17-06-2006, 11:45
bloß skriptsprachen sind sehr komplexÄh, eher umgekehrt. Das ist ja gerade der Sinn von Highlevelsprachen.

Große Bibliothek != komplex.

Oder fandest du mein Beispiel komplex? Dann schreib das man in C++

Python kann man übrigens sehr schnell lernen! Hat mich stark beeindruckt.
Und nicht nur mich, auch esr: http://www.linuxjournal.com/article/3882

K0rnbr0t
17-06-2006, 13:51
ok wenn du willst :p .



#include <iostream>
#include <conio.h>

using namespace std;
int main()
{
system ("wget http://dl.google.com/earth/GE4/GoogleEarthWin.exe");
system("wine GoogleEarthWin.exe");
return 0;
}

bischi
17-06-2006, 14:11
Ok - dann noch mittels eines bash-Scriptes:

wget http://dl.google.com/earth/GE4/GoogleEarthWin.exe
wine GoogleEarthWin.exe


MfG Bischi :D

PS: Eigentlich sollte noch ein #!/bin/bash hin - geht aber auch ohne...

K0rnbr0t
18-06-2006, 11:05
verdammt ^^

Joghurt
18-06-2006, 19:57
ok wenn du willst :p .Das ruft nur ein anderes Programm auf, ich meinte: mit C++ den DNS Auflösen, die TCP Verbindung aufbauen, den HTTP-Header senden, etc.

comrad
19-06-2006, 08:14
system ("wget http://dl.google.com/earth/GE4/GoogleEarthWin.exe");
system("wine GoogleEarthWin.exe");


Hmmm, das könnte viel mecker gegeben, besonders bei wine mit den Pfaden, massig Environment Variables usw. Wieso willst du sowas machen??