Autor
|
Tema: (Consulta) Pasando a las funciones fscanf argumentos nulos (Leído 3,008 veces)
|
class_OpenGL
Desconectado
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
Hola, me preguntaba si se puede pasar argumentos nulos a las funciones fscanf para que se ignore tal argumento. Código de ejemplo donde se ilustra como ignorar una línea. Solo funcionaría si se pueden pasar argumentos nulos: #include <stdio.h> int main() { fscanf(stdin , "%s[^'\n']", NULL ); return 0; }
Esto lo he probado bajo Linux (Debian) y me ha funconado sin que se produzcan errores. Eso si, el compilador me ha advertido. Lo que no sé si es estándar o me ha funcionado de casualidad. P.D.: En el caso que esto no funcione como debiera, ¿hay alguna forma de que fscanf ignore lo que yo quiera? Muchas gracias
|
|
« Última modificación: 29 Julio 2016, 17:00 pm por class_OpenGL »
|
En línea
|
| Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL |
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
¡Buenas! Me has dejado con la mosca detrás de la oreja, así que lo he probado y lo habré ejecutado unas 10-15 veces en Debian Stretch sin ningún problema. Por lo que comentan en stackoverflow el estándar exige que si se lee una cadena entonces hay que proporcionar un argumento con la capacidad de leer hasta el primer espacio y almacenar el caracter nulo. Pero gcc debe de tener una implementación no estándar de scanf, así que los puntero a NULL (al menos en el caso de cadenas) se ignoran. A ver si encuentro algo más de información. ¡Saludos!
|
|
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
class_OpenGL
Desconectado
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
Yo también ando buscando, pero solamente encontré lo que dices tu. Lo más seguro es que sea eso entonces. Algo en lo que me he fijado es que no se extraen datos cuando pasas un puntero NULL. Esto lo digo porque, por ejemplo, la línea que ejecuto se supone que ignoraría una línea, pero no es así. Lo sé porque al intentar ignorar una línea con esa función y parámetros determinados, no se ignora, simplemente es como si la función no se hubiera ejecutado o llamado. Sabiendo eso, lo más probable es que como tu dices, sea una implementación no estándar. Ahora mismo no puedo, pero en un rato lo probaré bajo Windows para ver si funciona con el compilador VC++
|
|
|
En línea
|
| Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL |
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
P.D.: En el caso que esto no funcione como debiera, ¿hay alguna forma de que fscanf ignore lo que yo quiera?
Si pones un asterisco en la cadena de formato en los especificadores, los ignorará.
|
|
|
En línea
|
|
|
|
class_OpenGL
Desconectado
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
Vaya, eso es información muy interesante. ¡Gracias!... Otra pequeña pregunta, si por ejemplo, quiero que solo ignore 64 caracteres, ¿la estrctura sería...
... o sería con el asterisco primero y luego el 64 (el 64 es un ejemplo)?
|
|
|
En línea
|
| Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL |
|
|
|
|
|
class_OpenGL
Desconectado
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
Ah gracias por la página!
|
|
|
En línea
|
| Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL |
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Funciones con número arbitrario de argumentos [PHP]
PHP
|
madpitbull_99
|
3
|
5,095
|
6 Marzo 2011, 22:31 pm
por JungleBoogie
|
|
|
ver argumentos de funciones codeblocks
Programación C/C++
|
_niu
|
2
|
2,946
|
15 Diciembre 2011, 21:57 pm
por _niu
|
|
|
Consulta fscanf leer nueva linea
Programación C/C++
|
casidus
|
7
|
4,656
|
15 Febrero 2014, 12:16 pm
por casidus
|
|
|
[C] Argumentos anónimos en llamadas a funciones
Programación C/C++
|
MAFUS
|
4
|
2,323
|
23 Diciembre 2015, 17:26 pm
por 0xFer
|
|
|
Funciones con argumentos OR: ¿Como?
Programación C/C++
|
Desiresportal
|
1
|
1,643
|
1 Junio 2016, 14:34 pm
por class_OpenGL
|
|