Zeilenumbrueche



  • Hallo,

    ich versuche gerade eine Exel-CSV-Datei auszulesen und auseinanderzunehmen. mein problem hierbei ist, dass die Zeilenumbrüche INERHALB eines Feldes von fgets() genauso behandelt werden, wie die Zeilenumbrüche am Ende der Zeile, die bei CSV eine neue Tabellenzeile signalisieren.

    Ich habe die starke befürchtung, das beide Zeilenumbrüche '\n' alisa #10 sind, aber das notepad z.B. stellt sie als Sonderzeichen dar und nicht als Sonderzeichen.

    Irgend jemand vielleicht schon mal an sowas gesessen und weiß, inwiefern die beiden zeilenumbrüche sich unterscheiden?

    Danke,
    loli



  • finite state machine

    oder anders gesagt: wenn du ein " liest, gehst du in einen anderen "lesemodus", in welchem du kommas nicht als trennzeichen behandelst.

    was meinst du mit umbruechen?



  • Hoi,

    danke erstmal fuer die Antwort:

    Also, mein problem sind (leider) nicht die Kommas (bzw. Semikolons), sondern die ZEILENUMBRUECHE aka "Dort-wo-Enter-gedrückt-wurde". Diese werden meist als '\n' oder ASCII-10 Zeichen dargestellt.

    Mein seitheriges programm lauft so, dass fgets()-Zeilenweise die Datei ausließt und somit immer animmt, das beim Zeilenumbruchzeichen in den Feldern eine neue Zeile beginnt, obwohl ides nicht der Fall ist!

    Gruß
    Oskar



  • Dir wird nichts anderes übrigbleiben und die Datei im binärmodus zu öffnen und zeichenweise einzulesen. Unter Windows wird ein richtiger Zeilenumbruch als 2 Zeichen dargestellt ( 10+13 oder wars 13+10 ? ) der Zeilenumbruch in einer Zelle wird scheinbar nur als '\n' ( 10 ) dargestellst. So kannst du unterscheiden.
    Kurt



  • Mhh, danke!

    Aus das Zeichenweise auslesen habe ichmich jetzt auch verlegt *grummel-nie klappts einfach so* und kann den Internen Zeichenumbruch auch von den Externen unterscheiden. Die einzige Frage die ich jetzt noch hätte wäre: Mit was kann ich es ersetzen, ohne die Daten zu verändern? Wenn ich es selber oder einen Zeilenumbruch in die Datei schreibe bricht der Datensatz an dieser Stelle -o Wunder- um. Das ist jedoch nicht aktzeptabel, da mir schwant, das SQL mir eine solche Syntax um die Ohren hauen würde.

    Gibt es ein \n-Zeichen, das nicht sofort verwertet wird (nicht-wirklich-glaub).

    Gruß
    loli



  • Huldig dem großen SQL!

    Er nimmt auch Zeilenübergreifende Input-Befehle ohne murren an. Traumhaft.

    --closed--

    loli


Anmelden zum Antworten