Kann das mal jemand checken?
-
Zum Zweck damit ich meine Quellcodedateien dokumentieren kann
erstellt diese kleine Application, aus meinen Quelltextdateien
Dateien im gaengigen Internetformat: was soweit auch
funktioniert zu 99%Hier kommt der Code:
/* Autor: sclearscreen Ziel: macht aus C/C++ Quelltrexten HTML - Files ToDo: es gibt bei der entstandenen HTML - File irgendwelche Probleme mit dem Zeichensatz! Der Internetexplorer zeigt im ein Zeichen an was im Layout eigentlich nicht vorhanden ist! Idee: Ich arbeite mit einer Borland Entwicklungsumgebung C++ 4.52 Der integrierte Editor haut am Ende vermutlich irgendwelche Zeichen rein die kein UNICODE sind ? */ #include <fstream.h> int main(void) { char c; // dies wird spaeter ueber "argc" und "argv" modifiziert ifstream file("test.cpp"); ofstream filehtml("test.htm"); filehtml << "<head><title></title></head><body>"; if(!file.fail()) { while(!file.eof()) { file.get(c); switch(c) { case ' ': // ein erzwungenes Leerzeichen META - Tag Leerzeichen { filehtml << "" "; // Achtung mein Code wird im Forum break; // nicht richtig dargestellt } case '\n': { filehtml << "<br>"; break; } case '\t': // 5 erzwungenes Leerzeichen { filehtml << " "; break; } case '<': { filehtml << "<"; break; } case '>': { filehtml << ">"; break; } case '\"': { filehtml << """; break; } case '&': { filehtml << "&"; break; } default: filehtml.put(c); } } } filehtml << "</body>"; file.close(); filehtml.close(); return 0; }
Die Datei wird erstellt doch bei mir im Internetexplorer
wird zum Schluss ein Zeichen mit angezeigt was da nisch hingehörtirgend son Ypsilon mit zwei Punkten drüber
Immer der Ärger mit den Zeichensätzen, vermute ich.
Was meinen die Fachleute dazu?Probierts vieleicht bitte mal bei Euch aus und lasst Euch die HTML - File
mal mit nen Browser anzeigen.Ich hab da keine Idee ich hab schon Zeichensatztabellen liegen und gucke
und hab da noch keinen Loesungsansatz!Man könnte ja damit leben dem Browser tust ja nichts, aber der eigene
Perfektionismus !Dank fuer Kritik und Ratschläge
mfg sclearscreen
[ Dieser Beitrag wurde am 12.03.2003 um 20:31 Uhr von sclearscreen editiert. ]
[ Dieser Beitrag wurde am 12.03.2003 um 20:38 Uhr von sclearscreen editiert. ]
[ Dieser Beitrag wurde am 12.03.2003 um 20:40 Uhr von sclearscreen editiert. ]
-
Das liegt daran, dass du EOF ein Zeichen zu spät abfängst. Du mußt direkt nach file.get(c) checken, nicht erst beim nächsten Schleifendurchlauf.
BTW ... mal wieder einer dieser lustigen Foren-Bugs. Ich bin mir ziemlich sicher, in deinem Programm änderst du < nicht in <, sondern in & l t ; Hoffentlich kommt bald die neue Software ...
-
Oh dank für die schnelle Antwort
Ich dachte schon mein Problem wäre an diesen blöden META - Tags gescheitert
Ich hab meinen Quelltext den nur mit PASTE hier eingesetzt und
haett mir bald die Haare ausgrauft!BTW ... mal wieder einer dieser lustigen Foren-Bugs. Ich bin mir ziemlich sicher, in deinem Programm änderst du < nicht in <, sondern in & l t ; Hoffentlich kommt bald die neue Software ...
In der Tat das könnte nen Bug sein! Natürlich sieht der Code im Orginal so aus
wie Du es schon vermutest!!!Ich werde dann mal schon vorher in der Schleife auf EOF prüfen und
dann austeigen ich denke so meintest Du das.Danke nochmals @BASHAR!
-
jau so meinte ich das. Bei EOF liefert get oft -1 zurück (eigentlich irgendein char_traits<char>::eof oder so, keine Ahnung, aber das ist halt meistens -1), das ergibt auf unsigned umgemodelt 255, und an der Stelle steht in dem von dir benutzten Zeichensatz wohl das y mit 2 Punkten.
-
jetz tuts wunderbar, als naechstes werde ich in dieses kleine Tool
noch SYNTAX - Highliting für die Schlüsselwörter einbauenNoch ne Frage am Rande, ich hoffe ich bekomme keine Shellte wegen eines
neue Thread!Apropos Bug dieser Fehler mit diesen META - Tags ist aber schon ein
Grenzfall oder.In welche Richtung müsste man da Eigentlich gehen wenn man solchen Code
darstellen will?
Im Webzeugs - Fachbreich dieses Forum müsste es da das eine
oder andere mal blöd sein! Wenn dort Einer ne Frage zu HTML - Skript hat
muss der bei konkreten Skriptcode ja mit Händen und Füssen erklären!
Und zugegebener Maßen, um sich im Forum zu artikulieren hatt man bloss
eingeschränkte Moeglichkeiten!mfg