[bcn-pm] consulta

Xavier Noria fxn at hashref.com
Wed Nov 19 02:33:54 CST 2003


El miércoles, 19 novi, 2003, a las 00:00 Europe/Madrid, Miquel Bordera 
escribió:

> Hola companys:

Hola Miquel,

> El que fa es crear-lo en mode binari, tot separant cada linia amb el
> caracter "\n" de salt de linia.
>
> El cas es que quan faig un TYPE en una finestra de MS-DOS (treballo amb
> windows 98) el que apareix a la pantalla es algo semblant a aixo:
>
> 1=a
>    2=b
>       3=c
>          4=d
>
> Malgrat tot la segona part del programa, encarregada de llegir el 
> fitxer i
> mostrar-lo per la pantalla funciona be i malgrat que no entenc massa be
> perque passa aixo (potser el caracter "\n" que interpreta el 
> compilador no
> es correapon amb el salt de linia del Windows?)

Quan hom escriu una cadena a disc en mode text, el que va a parar a 
disc pot ser o no la cadena literalment, aixo depen del sistema 
operatiu.

En el cas de Windows, qui fa l'I/O es mira si hi ha instancies d'\n i 
les substitueix totes per \015\012. Despres, en llegir l'arxiu en mode 
text el sistema d'I/O fa la conversio a l'inreves en els bytes que 
pujen: totes les parelles \015\012 es transformen en \n.

Arreu es fan les conversions adequades, i es per aixo que el codi 
orientat a linia es pot escriure usant \n de manera portable.

Quan posem l'arxiu en mode binari justament el que fem es deshabilitar 
aquesta traduccio sota ma. El resultat en escriure es que desem un 
fitxer que no te els convenis de salt de linia de Windows i per tant 
altres programes que l'esperen no troben les linies en lloc, doncs 
cerquen parells \015\012 i no n'hi ha.

-- fxn



More information about the Barcelona-pm mailing list