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?
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


0