2010-09-12 9 views

Respuesta

15

El (valor ASCII 0, '\0' como un carácter literal) null character termina una cadena en C. Este personaje es no generalmente considerado como un carácter de espacio en blanco.

El espacio en el medio de esta cadena, por ejemplo: "Hello world" es el carácter con ASCII valor 32. Esto no es lo mismo que NULL o \0.

+3

De hecho, el nombre del carácter ASCII que termina una cadena es NUL – EvilTeach

3

En C, puedo decir un espacio en blanco en una cadena tiene un tipo NULL, o algo otro sitio?

No estoy seguro de lo que quiere decir con un tipo NULL. Un espacio en blanco es un carácter de espacio o pestaña o retorno de carro.

En C, ¿qué carácter representa la terminación de una cadena?

El carácter '\0' es la terminación de una cadena.

0

El carácter de terminación es un byte con valor 0. Expresado como un carácter literal, es '\0'.

Su primera pregunta sobre el espacio en blanco que tiene un tipo NULL no tiene ningún sentido.

3

Los siguientes caracteres son considerados como "espacios en blanco" en el sentido de que la función isspace() devuelve un valor no cero:

  • espacio (ASCII 0x32, literal C ' ')
  • pestaña (ASCII 0x09, C literal '\t')
  • pestaña vertical (ASCII 0x0B, C literal)
  • forma de alimentación (ASCII 0x0C, C literal '\f')
  • retorno de carro (ASCII 0x0E, C literal '\r')
  • nueva línea (ASCII 0x0A, C literal '\n')

El terminador de cadena es el NUL de caracteres ASCII (0x00); generalmente no tiene ningún efecto sobre el cursor si intenta enviarlo a una consola o terminal.

+1

Trivia: NUL se codifica como cero porque corresponde al líder de cinta de papel en blanco. DEL se codifica como 0x7f (o 0xff a veces) porque corresponde a todos los agujeros perforados en una cinta de papel, y solía llamarse RUBOUT, indicando que se utilizó para corregir errores sin requerir que un operador repinte una cinta completa. – RBerteig

+0

@RBerteig: Interesante. Y gracias por la 'limpieza' – Clifford

Cuestiones relacionadas