Programacion -> C

D

Buenas necesito ayuda a ver si hay alguien q tenga conocimientos de C por aqui.

Agradeceria q me explicaran brevemente para q sirven cada una de las funciones q escribo a continuacion, en q casos se utilizan, y si puede ser con un pequeño ejemplo, ya q en las webs a las q consulto lo explican de una forma demasiado complicada y no me entero de na. Son todas sobre entradas y salidas pero a ver si podeis aclararme un poquito.

gets
fgets
getc
getchar
ungetc
puts
fputs
fflush

stdin
stdout
stderr

bool

sscanf
fscanf
sprintf

Gracias adelantadas!

Ninja-Killer

foro equivocado. aqui no sabemos programar :)

JameZ-

usa el google es tu amigo

Hobbes

Todas las respuestas a tus preguntas estan en =>http://www.cppreference.com/

Un saludo

IAF

stdio roolz

g0tO

visual basic?

yo cateé : (

NigthWolf

en www.elhacker.net hay un puñado de manuales, pero eso si pasale antes el antivirus por que algunos suelen llevar premio...

Guardian

gets: Coje cadenas de caracteres
fgets: Coge una cadena de caracteres de un fichero
getc: Coge un solo carater
getchar: Igual que la anterior (creo)
ungetc: Creo que borra un caracter
puts: Escribe una cadena de caracteres
fputs: Escribe un caracter en un fichero
fflush: Limpia el buffer de esritura

stdin: Libreria
stdout: Libreria
stderr: Supongo que libreria tambien, pero no lo se

bool: Esta ni idea xD

Craw

gets <- get string <- leer una cadena
fgets <-file get string <- leer una cadena de un fichero (creo)
getc <-pensaba que era como getchar, pero no sep
getchar <--leer un caracter
ungetc <-npi
puts <- put string <- escribir una cadena
fputs <- f put s <-- escribir una cadena en un fichero
fflush <- liberar un buffer

stdin <- fflush(stdin) <-liberar buffer de entrada
stdout <-fflush(stdout) <- liberar el buffer de salida
stderr <- fflush(stderr) <- liberar buffer de error?

bool <- en C creo que no existe.en C++ si. es el tipo de variable booleana. solo puede tomar los valores true o false.

D

gracias!, y estas ultimas?

sscanf
fscanf
sprintf

Hobbes

#8 y #9 creo que #1 deberia aprender a leer esa informacion por si solo, mas que nada porque no siempre va a haber alguien para explicarselo.

B

El puts es para cadena de carácteres, no carácter sólo (#8)

PD: Ya somos 2 los que estamos aprendiendo xd

W

Normalmente los entornos de trabajo llevan sus ayudas correspondientes.

Guardian

#12 Gracias por la aclaración, fallo tecnico, aun estoy aprendiendo xD

Craw

sscanf
fscanf
sprintf

los de scan son operaciones de lectura, y la de print de escritura, pero para utilizarlas tienes que meter mas parametros y movidas, aparte de que puedes meter varias cadenas a la vez, lblablal....

haz caso a #11

michi

int fscanf( FILE *flujo, const char *formato, ...);
int sscanf( const char *str, const char *formato, ...);
La familia scanf de funciones "escanea" la entrada según un formato
como se describe más adelante. Este formato puede contener especifi-
cadores de conversión; los resultados de tales conversiones, si las
hay, se guardan donde apunten los argumentos punteros. La función
scanf lee la entrada del flujo de entrada estándar stdin, fscanf lee su
entrada del puntero a FILE flujo, y sscanf lee su entrada de la cadena
de caracteres a la que apunte str.

int sprintf(char *str, const char *format, ...);
sprintf sirve para volcar en cadena string (char *) otra cadena compuesta por const char * y/o opcionalmente variables de diferente formato

hazte programitas tontos de prueba para aprender el manejo

JuAn4k4

stdin
stdout
stderr

valen 0, 1, 2 respectivamente, y son las constantes de Entrada estandar, salida estandar, salida de error, ( Teclado, pantalla, pantalla ) respectivamente. Estan en stdio.h , y se suelen usar en los : write y read.
Por ejemplo:
write(stdout, buff, sizeof(buff) );
read( stdin, buff, sizeof(buff) );

#9 buffer de entrada, buffer de salida y buffer de error, nein! Se liberan los buffers de la entrada descrita por el descriptor de ficheros ( fd's ) que metes, stdin=0, stdout=1, stderr=2. Los estandares son teclado y pantalla, entonces libera los buffers de la entrada de teclado, y el buffer de salida de pantalla , si no han sido modificados.

Craw

#17 podrias estar en lo cierto, si te digo la verdad,no tengo ni puta idea. de los fflush solo se que "hay" que ponerlo para que no haya conflictos ni problemas, cosa que nunca me ha pasado sin ponerlos... amos, que los pongo pq me lo dice el profesor.

JuAn4k4

Vaciar si los vacia, pero lo que son stdin y tal , son numeros nada mas.

Dod-Evers

pon "man nombreDeFuncion" y te sale todo.

Y más: man nombreDeFuncion > fichero y luego more fichero. Hale...

PD: Foro equivocado.

javithelong

Si en google mismamente, (por si dices que no tienes linux), pones "man nombredelafuncion" te salen mil páginas donde te la explican. Vease:

http://www.google.es/search?hl=es&q=man+fgets&meta=

Un saludo

R

DDK la proxima vez prueba a poner en www.google.com la siguiente busqueda "manual C instruccionquequieres" ya veras como te salen muchas paginas con muchas explicaciones.

Vale la pena que aprendas a no depender de la gente que luego si alguno te cuenta una mentira vas de cabeza :(

Usuarios habituales