bærbarhed, skal csv-filen bruge CRLF line feeds på windows

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har udviklet et kommandolinjeværktøj, som konverterer en slags binær data til csv-tekst.
Nu kommer jeg til at sende den til Windows og jeg 'er stadig ikke sikker på, om jeg skulle skrive' \ r \ n 'line feeds specielt til Windows eller bare' \ n 'som normalt.


Jeg vil gerne have nøjagtig samme output på alle platforme. Men jeg 'er ikke en Windows-fyr og kender ingen problemer, der kan opstå.
Tror du, at den sædvanlige data minearbejder på Windows kunne leve uden det '\ r'?


For eksempel har jeg prøvet 'excel', 'cmd' og 'more' - har ikke bemærket nogen problemer uden '\ r'. Notpad savnet, men hvem bekymrer sig?


cu,
rudi

Bedste reference


Ok, jeg besluttede aldrig at output windows line feeds længere selv på stderr og stdout.
BTW Jeg har bemærket, at skrivning i O\_BINARY-tilstand er cirka to gange hurtigere end standard O\_TEXT.


Dette gør jeg nu:


#ifdef \_WIN32
    #include <fcntl.h>
    #include <io.h>
#endif

...

#ifdef \_WIN32
    /* never write CRLF line feeds */
    \_setmode(\_fileno(stderr),\_O\_BINARY);
    \_setmode(\_fileno(stdout),\_O\_BINARY);
#endif