C/Visual C - Estos "\n\t\r" en memoria

 
Vista:

Estos "\n\t\r" en memoria

Publicado por PUN (3 intervenciones) el 06/09/2005 19:27:54
Hola que tal.

Cuando uno usa estas instrucciones especiales para las cadenas ( \n para nueva línea, \t para tabulación, etc.), qué valor numérico es usado en los bytes de memoria?.

Por ejemplo:

short C;

C = '\n';

Se supone que "C" ocupa 1 byte en memoria. Pero si uno lee un archivo/fichero de texto plano desde disco (en Windows), la instrucción de que viene un retorno de línea se hace con dos bytes (0d seguido de 0a). Por lo tanto, si leo un byte desde disco y se encuentra con un retorno de línea, no es posible que me indique, por ejemplo, que C == '\n'.

- Acaso el lenguaje C considera "0d" o "0a" como si fuera '\n'?- Si escribo en disco C = '\n' y después lo veo en un visor de texto el retorno de línea aparecerá correcto (lo dudo)?

Aquí les dejo una parte del código:
if (c == '\r') c = '\n';
if (c == 9) c = ' ';

Otra pregunta: ¿Para qué se usa "\r" en las cadenas?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Estos

Publicado por mquinteiro (4 intervenciones) el 06/09/2005 20:25:21
/r es retorno de carro
/n es nueva linea

/r + /n es saltar una linea e ir al principio de esta....

0x0a = /n (line feed)
0x0d = /r (Carrige return)

Los dos juntos solo los usa windows para indicar el cambio de linea, si te vas a mundo unix mac etc encontrars que con /n vale.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar