Articles of fgets

Diferencia entre scanf () y fgets ()

Quiero saber cuál es la diferencia entre fgets() y scanf() . Estoy usando C como mi plataforma.

Strstr no funciona

¿Por qué esta pieza de código en particular devuelve falso en strstr () si ingreso “prueba”? char input[100]; int main() { fgets(input, 100, stdin); printf(“%s”, input); if(strstr(“test message”, input)) { printf(“strstr true”); } } Pensé que strstr buscó el primer param para las instancias del segundo param? Funciona cuando reemplazo la entrada con texto o […]

¿Cómo leer desde stdin con fgets ()?

He escrito el siguiente código para leer una línea desde una ventana de terminal, el problema es que el código se queda atascado en un bucle infinito. La línea / frase es de longitud indefinida, por lo tanto, planeo leerla en partes en el búfer, luego concatenarlo a otra cadena que se puede extender a […]

las instrucciones de fgets se omiten. ¿Por qué?

Cada vez que hago un scanf antes de fgets se omite la instrucción fgets. Me he encontrado con este problema en C ++ y recuerdo que tuve que tener alguna información que borrara el buffer stdin o algo así. Supongo que hay un equivalente para C. ¿Qué es? Gracias.

strcmp en una línea de lectura con fgets

Estoy tratando de comparar dos cadenas. Uno almacenado en un archivo, el otro recuperado del usuario (stdin). Aquí hay un progtwig de muestra: int main() { char targetName[50]; fgets(targetName,50,stdin); char aName[] = “bob”; printf(“%d”,strcmp(aName,targetName)); return 0; } En este progtwig, strcmp devuelve un valor de -1 cuando la entrada es “bob” . ¿Por qué es […]

Fgets no funciona después de scanf

#include #include #include void delspace(char *str); int main() { int i, loops; char s1[101], s2[101]; scanf(“%d”, &loops); while (loops–) { fgets(s1, 101, stdin); fgets(s2, 101, stdin); s1[strlen(s1)] = ‘\0’; s2[strlen(s2)] = ‘\0’; if (s1[0] == ‘\n’ && s2[0] == ‘\n’) { printf(“YES\n”); continue; } delspace(s1); delspace(s2); for (i = 0; s1[i] != ‘\0’; i++) s1[i] […]

Eliminar el carácter de nueva línea al final de la entrada de fgets ()

Estoy tratando de obtener algunos datos del usuario y enviarlos a otra función en gcc. El código es algo como esto. printf(“Enter your Name: “); if (!(fgets(Name, sizeof Name, stdin) != NULL)) { fprintf(stderr, “Error reading Name.\n”); exit(1); } Sin embargo, me parece que tiene un carácter newline \n al final. Entonces, si ingreso a […]

¿Por qué la función get es tan peligrosa que no debería usarse?

Cuando bash comstackr el código C que usa la función gets() con GCC, entiendo esto advertencia : (.text + 0x34): advertencia: la función `get ‘es peligrosa y no debe usarse. Recuerdo que esto tiene algo que ver con la protección y la seguridad de la stack, pero no estoy seguro de por qué. ¿Puede alguien […]