Parsen
-
ich hab ein ich vergessen ...
mach ICH das lieber!
-
Ich rate mal: Die Gesamtaufgabe ist, die Daten aus den Dateien zu lesen, ein paar Rechnungen damit anzustellen und das Ergebnis in Form einer HTML-Datei zu repräsentieren? Das würde nämlich halbwegs sinnvoll sein. Und auch wesentlich einfacher.
-
ja richtig
tut mir leid das ich mich nicht vernünftig ausdrücken kann
-
#include <iostream> #include <fstream> #include <string> int main() { using namespace std; long mem_total = -1; long mem_free = -1; ifstream datei("/proc/meminfo"); for( std::string wort; (mem_total < 0 || mem_free < 0) && datei >> wort ; ) { if( wort == "MemTotal:" ) datei >> mem_total; else if( wort == "MemFree:" ) datei >> mem_free; } if( datei ) cout << "Ergebnis: " << (mem_total-mem_free) << " = (total)" << mem_total << " - (free)" << mem_free << endl; else cerr << "Fehler beim Lesen/Parsen" << endl; return 0; }Ausgabe:
Ergebnis: 1576036 = (total)3947984 - (free)2371948
-
ok nun hab ich das verstanden und eingebaut
nun sagt er ich soll das ganz in meinem html dokument als DIV speicher???
MT = wert von memtotal
MF = wert von memfreedabei soll ich 150% / MT = PWrechnen und MF / PW
das soll dann ein div ergebn was 150 pixel lang ist
meine frage nun:
muss ich das mit der richtgen html snytax einfach in die datei schreiben???danke schonmal für das geduldige helfen
-
Könntest du bitte versuchen, auf Deutsch zu schreiben?
-
ich kann nicht besser erklären was ich machen soll
ich kann vllcht noch dazu sagen das doch ein DIV so ein block in html ist
Mit <div> leiten Sie ein allgemeines Block-Element ein, in das Sie mehrere andere Block-Elemente einschließen können (div = division = Bereich). Alles, was zwischen diesem Tag und dem abschließenden </div> steht, wird als Teil des Bereichs interpretiert.
-
Kellerautomat schrieb:
Könntest du bitte versuchen, auf Deutsch zu schreiben?
Ich übersetze:
*Ok, nun habe ich das Verstanden und Eingebaut.
Nun sagt er, ich soll das ganze in meinem HTML-Dokument als DIV speichern?MT = wert von memtotal
MF = wert von memfreeDabei soll ich
150% / MT = PWundMF / PWausrechnen.Das soll dann einen DIV ergeben, welches 150 Pixel lang ist.
Meine Frage ist nun:
Muss ich das mit der richtigen HTML Syntax einfach in die Datei schreiben?Danke schon mal für das geduldige Helfen!*
Antwort:
DIV ist ein HTML-Tag, genauer genommen ist es ein DHTML-Layer. Lern am besten (X)HTML und CSS

Die Breite wird im CSS-Stylesheet selbstverständlich durch ein Attribut mit numerischem Wert bestimmt (den numerischen Wert mit px-Suffix schreiben).
Edit: Am besten einfach ins <style> Tag im head einbauen.
-
Ich gehe mal auf die Meta-Ebene der Hilfestellung: Es wäre vielleicht eine gute Idee, wenn du deinem Chef sagst, dass du mit der Aufgabe überfordert bist und er es vielleicht mal etwas langsamer angehen sollte. Du sprichst seit wenigen Tagen C++, gelernt aus einem bekannt schlechten Buch. Das ist kein Wunder, wenn diese Aufgabe zu schwer ist.
-
vom prinzip müsste das doch irgentwie so gehen:
std::string HTML_File::to_string(){ std::string out = "<!DOCTYPE html>\n<html><body>" + data + "</body></html>\n"; return out;so müsste ich doch auch ein div in die html als string rein schreiben können oder?
-
seppj ich hab das buch nicht mehr angefast seit dem ihr das sagtet
-
Enno schrieb:
so müsste ich doch auch ein div in die html als string rein schreiben können oder?
Ja.
-
problem is nur wenn ich das hier schreibe
<div align="center">dann kommt c++ da ein wenig durcheinander kann man das irgentwie lösen?
-
Enno schrieb:
problem is nur wenn ich das hier schreibe
<div align="center">dann kommt c++ da ein wenig durcheinander kann man das irgentwie lösen?
Ja du kannst das Anführungszeichen "escapen"
"<div align=\"center\">"Greets
Tobi
-
Schöner geht es mit Raw-String literals (C++11):
R"( <div align="center"> ..... )"Evt. mit Delimitter, falls da noch (schließende) Klammern hinzukommen.
Edit: Das einzig doofe dabei ist das völlig verwirrte Syntax-Hilighting

-
Meinst du, dass du "-Zeichen nicht in ein String-Literal reibringst. Bzw. ist das
std::string foo = "<div align="center">";dein "durcheinander geratenes C++"?
Falls ja: Lies mal Escape-Sequenzen.
Dein String sollte also so aussehen:
std::string foo = "<div align=\"center\">";
-
[url=http://de.wikipedia.org/wiki/Escape-Sequenz]Escape-Sequenzen[/cpp]

-
habs nun so gemacht und das klappt:
"<!DOCTYPE html>\n<html><body><div align=""center""><h1>Ergebnis: 1745324 = (total)3947984 - (free)2202660</h1></div>" + data + "</body></html>\n";bleibt für mich die frage kann ich das div auch an die original stelle setzen ?
ich hoffe ihr versteht was ich meine :((( ich bin ja son kleines dummerchen
-
align=""center""Das klappt?! Das ist im Endeffekt nichts anderes als
align=center(Edit: CPP-Tags addiert)
da kannste die Anführungszeichen gleich weglassen...
Ist doch tausend mal schöner mit meiner Lösung!
R"( <!DOCTYPE html> <html> <body> <div align="center"> <h1>Ergebnis: 1745324 = (total)3947984 - (free)2202660</h1> </div>)" + data + R"( </body> </html> )";(Edit) Da kannste gleich die HTML-File direkt reinkopieren, aus deinem Editor oder was auch immer!
-
Sone schrieb:
[cpp]R"(
<!DOCTYPE html>
<html>
<body>
<div align="center">
<h1>Ergebnis: 1745324 = (total)3947984 - (free)2202660</h1>
</div>)"
+ data +
R"(
</body>
</html>
)";[/cpp](Edit) Da kannste gleich die HTML-File direkt reinkopieren, aus deinem Editor oder was auch immer!
da hast du recht ist wirklich schöner!!!

nur warum 2 mal R"(??
und ich muss das ja im prinzip in meinem data mitten drin einbauen das geht wohl nicht oder?