problem mit mit string in einer if bedingung
-
folgendes problem
wenn ich dem letzte code die kommentar zeichen entferne liefertfolgendes nur noch 0 zurück
std::stringstream str_str;
std::stringstream str_str_bin; //eingefügt für die größe der dateien
str_str << req.answer_.size();
str_str_bin << get_file_size(complpfadfile.c_str()); //eingefügt die größe der dateiensteht es dann in der if bedingung kommt nur noch 0 vorher z.b. 568 also die größe
aber die if bedingung selbst funktioniert sie es wird ja alles gesendet wie es da steht nur das dann plötzlich Content-Length: 0 steht
ne idee worans liegt?
else if (req.method_=="HEAD" ) { s.SendLine(std::string("Date: ") + asctime_remove_nl + " GMT"); s.SendLine(std::string("Server: ") +serverName); s.SendLine("Connection: close"); // if (req.filetosend_=="TRUE") // { s.SendLine("Content-Type: text/html"); s.SendLine("Content-Length: " + str_str_bin.str()); s.SendLine(""); // s.SendLine(req.answer_); // } // else // { // s.SendLine("Content-Type: text/html; charset=ISO-8859-1"); // s.SendLine("Content-Length: " + str_str.str()); // s.SendLine(""); // s.SendLine(req.answer_); // }
-
und was ist mit dem else-Zweig? Bleibt der kommentiert?
-
sorry natürlich werden alle kommentarzeichen entfernt
-
falls deine frage sich darauf bezog ob vielleicht der else zweig ausgeführt wird
nein das erkennt man bei der antwort des servers daran das ich bei content type ne unterschiedliche angabe gemacht im if zweig steht
"Content-Type: text/html"
im else zweig
"Content-Type: text/html; charset=ISO-8859-1"
und er führt den if zweig aus.
ich weis nur nicht warum da den plötzlich "0" steht zu der bedingung
ich mache vorher nichts weiter als r->filetosend_ = "TRUE";das is nen string in ner struktur