Autor
|
Tema: size_t length en lenguaje C. (Leído 4,093 veces)
|
NOB2014
Desconectado
Mensajes: 366
|
Hola, gente. Lamento molestarlos por tan poco, en realidad tendría que tener un "amigo" para hacerle estas consultas tan poco relevantes, pero lamentablemente y a pesar de tener mucho tiempo en los foros no lo consigo todavía, bueno basta de prólogo y al grano, alguien me podría decir que hacen las 2 lineas que resalto a continuación. - size_t length = strlen(nombre); nombre[length-1] = nombre[length];
#include <stdio.h> #include <string.h> int main( void ){ char inicial[2] = {0}, nombre[80] = {0}; printf("\n Ingrese su primer inicial....: "); fgets(inicial , sizeof(inicial ), stdin ); printf("\n Ingrese su nombre............: " ); fgets(nombre , sizeof(nombre ), stdin ); size_t length = strlen(nombre ); nombre[length-1] = nombre[length]; if(inicial[0] != nombre[0]) printf("\n%s,Usted consiguió su aparejo mal..\n", nombre ); else printf("\n Bien, %s. Ingreso correcto. Bien hecho!\n", nombre ); return 0; }
Saludos. Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Lo que hace es retrasar una posición el carácter de fin de cadena '\0' sustituyendo al carácter de nueva línea. fgets guarda las cadenas de esta forma, si la ha conseguido desde stdin y la ha leído toda: "Una cadena de ejemplo\n\0"
|
|
|
En línea
|
|
|
|
NOB2014
Desconectado
Mensajes: 366
|
Hola, A ver si entendí, la primera línea lo que hace es guardar en length el largo de la cadena (tampoco estoy seguro) y la segunda no la entiendo porque no comprendo como copia el \0.-
Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Sí, la primera da la longitud de la cadena hasta el caracter '\0', no incluido. Si lo cuentas a mano verás que el caracter nombre[length] es el '\0' y el caracter nombre[length-1] es '\n'. La siguiente línea de código sustituye el caracter '\n' por el '\0'.
|
|
|
En línea
|
|
|
|
NOB2014
Desconectado
Mensajes: 366
|
Hola, MAFUS . - Una reflección, por momentos que paciencia tienen Uds. mira que era sencillo pero no me caía la ficha, dejo una imagen por si algún "lento" como Danielito lee este hilo. - Un abrazo, Daniel. -
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
furciorifa
Desconectado
Mensajes: 94
|
Pues ya te respondieron, cabe destacar que el que programó esto no se destaca por su experiencia, debido a que usa un arreglo para utilizar un caracter es redundante, el uso de fflush con fgets es irrelevante ya que como se aprecia fgets toma el salto de línea, otra cosa tu cuestión de las 2 líneas que no entendiste eran innecesarias en el código ya que sólo iba a comparar los primeros índices
|
|
|
En línea
|
|
|
|
NOB2014
Desconectado
Mensajes: 366
|
Hola, amigo, muchas gracias por tu participación y aclaraciones, en cuanto al manual que estoy consultando en este momento es: BeginningC From Novice to Professional, 4th Edition y me parece que tiene cosas interesantes, eso no quita que me parezca bueno a mí que estoy estudiando y sea mediocre para alguien como voz que si no leí mal das clases de programación. -
Saludos. Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
furciorifa
Desconectado
Mensajes: 94
|
Es muy bueno el libro, el problema es que a veces se basan en programar C para Windows y no un ANSI C limpio, C es muy portable, sabiendo hacer bien las cosas, te recomiendo más Deitel, para punteros y cosas más avanzadas, Understanding and Using Pointers in C
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Stream y su propiedad length!!!!
.NET (C#, VB.NET, ASP)
|
MANULOMM
|
1
|
2,450
|
15 Enero 2008, 05:19 am
por MANULOMM
|
|
|
amigos una pregunta sobre una red <length: 0>
Wireless en Linux
|
lealesdibua
|
7
|
9,020
|
31 Agosto 2010, 23:53 pm
por jcrack
|
|
|
strlen() y .length()
Programación C/C++
|
erest0r
|
4
|
4,549
|
17 Septiembre 2013, 08:25 am
por erest0r
|
|
|
Dudas con size_t en lenguaje C.
« 1 2 »
Programación C/C++
|
NOB2014
|
10
|
6,453
|
24 Enero 2016, 15:30 pm
por NOB2014
|
|