scanf(“%[^\\n]s”, str) Vs gets(str) en C con ejemplos

obtiene()

  • gets es un método más conveniente para leer una string de texto que contiene espacios en blanco.
  • A diferencia de scanf(), no omite espacios en blanco.
  • Se usa para leer la entrada hasta que encuentra una nueva línea.

%[^\n]

  • Es un código de conversión de edición.
  • El código de conversión de edición %[^\n] se puede utilizar como una alternativa de gets.
  • C admite esta especificación de formato con la función scanf().
  • Este código de conversión de edición se puede usar para leer una línea que contiene caracteres como variables e incluso espacios en blanco.
  • En general, la función scanf() con especificación de formato como %s y especificación con el ancho de campo en forma de %ws puede ser de solo lectura hasta la parte que no sea un espacio en blanco.
  • Significa que no se pueden usar para leer un texto que contenga más de una palabra, especialmente con espacios en blanco.

Tabla de diferencias y similitudes entre gets() y %[^\n]

obtiene() %[^\n] 
gets() se usa para leer strings %[^\n] es un código de conversión de edición utilizado para leer strings
A diferencia de scanf(), gets() lee strings incluso con espacios en blanco %[^\n] también lee strings con espacios en blanco
cuando lee un carácter de nueva línea, la función gets() terminará %[^\n] también termina con un carácter de nueva línea

Publicación traducida automáticamente

Artículo escrito por akshara_a y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *