Wechselkurs aus dem Internet
-
Hallo liebe Programmers.
Ich schreibe gerade ein Programm, welches verschiedene Währungen umrechnen soll. Hierbei will ich aber nicht fix eingegebene Kurse verwenden sondern den aktuellen Kurs aus dem Internet ermitteln.
1. Woher bekomme ich aktuelle Wechselkurse - in einem Format, welches ich in C++ einbinden kann?
2. Wie binde ich diese in meinem C++ Programm ein?Vielen Dank für eure Hilfe!
-
1. HTML Quelltext der Internet Seite herunterladen, z.B. mit libcurl
2. Quelltext parsen und Umrechnunsgkurse ermitteln
-
Kannst du mir einen kleines Beispiel code schreiben. Z.B. mit http://finance.yahoo.com?
Gracias
-
Wie du Webseiten herunterladen kannst, ist dir klar? Informier dich sonst.
Dann musst du nur noch http://download.finance.yahoo.com/d/quotes.csv?s=USDEUR=X&f=l1 herunterladen.
Du erhältst "0.7629", was du leicht in einen double konvertieren kannst.
-
Das weiß ich eben nicht und es scheint für mich als newbe auch nicht etwas zu sein was ich schnell mal selbst programmieren kann. Wäre dankbar wenn ich hier eine kleine Erklärung bekommen könnte und bestenfalls ein example code.
Merci
-
-
Ja, aber wie downloade ich diese mit c++. Meinetwegen in eine .txt datei, die ich dann später wieder einlesen kann?
-
Gibt es keine simplere Lösung ohne notwendigerweise eine lib zu includen um nicht mehr als den folgenden "http://download.finance.yahoo.com/d/quotes.csv?s=USDEUR=X&f=l1" aufzurufen und in eine .txt Datei an einem bestimmten Ort zu speichern.
Beispiel:
string rate = download("http://download.finance.yahoo.com/d/quotes.csv?s=USDEUR=X&f=l1"); ofstream file("home/temp_exchangeRate.txt"); file << rate + "\n"; file.close();
Wäre um eure Hilfe sehr dankbar, denn ich brauche das dringend für ein Finanzprogramm, für die Firma!
-
Mit dem Wissen schreibst du Produktivsoftware? Nicht unbedingt die allerbeste Idee wenn du mich fragst.
Wegen dem Download Problem: Standard-C++ kennt keine Netzwerkverbindungen. Du musst also Systemfunktionen nutzen, unter Windows wäre das z.B. die WinAPI. Such mal nach "sockets" da findest du so einige Anleitungen. Dann machst du eine HTTP GET Anfrage und lässt dir die Seite schicken.
Oder du benutzt halt externe Bibliotheken, die diese Systemfunktionen für dich kapseln.
-
Schnell und schmutzig: Programm mit einer Batch-Datei starten lassen, die dir vorher mit wget den entsprechenden Kram irgendwo hin läd.
-
Zunächst mal lohnt sich ein Blick in Yahoos Terms of Service; da steht nämlich drin, dass du diese Daten nicht kommerziell verwenden darfst (Punkt 12). Inwieweit Terms of Service rechtsgültig sind, ist eine nicht ganz trivial zu beantwortende Frage, aber ich halte es für wahrscheinlich, dass du deine Firma damit auf rechtlich dünnes Eis führst.
Ansonsten ist http://cpp-netlib.github.com/ einen Blick wert.
-
warum benutzt man C++ für ein Programm, für das Scriptsprachen wie geschaffen sind?
-
DocShoe schrieb:
1. HTML Quelltext der Internet Seite herunterladen, z.B. mit libcurl
2. Quelltext parsen und Umrechnunsgkurse ermittelnUnd sobald sich das Layout/Design der Webseite ändert, funktioniert die Software nicht mehr. Toll!
Vielleicht mal bei Yahoo anfragen, vielleicht bieten die auch eine brauchbare Schnittstelle an, über die man deren Daten offiziell und vor allem legal nutzen kann.
-
Wie wärs mit Webservices,gibt es zuhauf im Internet.
Mal über Google "webservice Currency Convert" suchen.
Dann noch einen eine Lib für Webservice besorgen, eventuell diese:
http://www.cs.fsu.edu/~engelen/soap.htmlund dann loslegen.