muchos de nosotros conocemos los usos tradicionales de scanf. Bueno, aquí están algunos de los hechos menos conocidos
¿Cómo leer solo una parte de la entrada que necesitamos? Por ejemplo, considere algún flujo de entrada que contenga solo caracteres seguidos de un entero o un flotador. Y necesitamos escanear solo ese entero o flotador.
Es decir,
Entrada: «este es el valor 100»,
salida: el valor leído es 100
entrada:»Este es el valor 21.2″,
salida : el valor leído es 21.,/div>, &a);
printf
(
"Input value read : a = %d"
, a);
return
0;
}
Ahora, presumiblemente, no sabemos lo que el anterior personajes son, pero ciertamente sabemos que el último valor es el número entero., ¿Cómo podemos escanear el último valor como un entero?
la solución de abajo solo funciona si la cadena de entrada no tiene espacios.,
, &a);
printf
(
"Input value read : a=%d"
,a);
return
0;
}
Explanation: The %*s in scanf is used to ignore some input as required., En este caso, ignora la entrada hasta el siguiente espacio o nueva línea. Del mismo modo, si escribe %*d ignorará los enteros hasta el siguiente espacio o nueva línea.
el hecho anterior puede no parecer un truco útil a primera vista. Para entender su uso, veamos primero fscanf ().
fscanf (): cansado de toda la sintaxis torpe para leer desde archivos? bueno, fscanf viene al rescate.
int fscanf(FILE *ptr, const char *format, ...)
fscanf lee desde un archivo apuntado por el puntero de archivo (PTR), en lugar de leer desde el flujo de entrada.
Considere el siguiente archivo de texto abc.,txt
NAME AGE CITYabc 12 hyderbadbef 25 delhicce 65 bangalore
ahora, queremos leer solo el campo de la Ciudad Del Archivo de texto anterior, ignorando todos los demás campos. Una combinación de fscanf y el truco mencionado anteriormente hace con facilidad
Resultado:
CITYhyderbaddelhibangalore
Ejercicio: Contar el número de palabras, los caracteres y las líneas en un archivo con fscanf!
Este artículo es contribuido por Nikhil Chakravartula., Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo y enviarlo por correo a [email protected]. vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.