Académique Documents
Professionnel Documents
Culture Documents
Estructura de Datos II
CARRERA:
20 de Noviembre de 2013.
Descripcin de uso de Bibliotecas y funciones.
Cierra el archivo f. Devuelve el valor 0 si el int fclose(FILE "archivo"); archivo se ha cerrado con xito. Determina si se ha encontrado un fin de archivo. si es as, feof(fichen); devuelve un valor distinto de cero, en otro caso devuelve 0 Lee un carcter del archivo f Lee una cadena s, con i caracteres, del archivo f Abre un archivo llamado s1, del tipo s2. Devuelve un puntero al archivo. * Modo Accin c+fgetc(fp) fgets(caddemo, 80, fp);
2 stdio.h
feof(f)
int
3 stdio.h 4 stdio.h
fgetc(f)
int
fegts(s, i, f) char(puntero)
5 stdio.h
fopen(s1, s2)
"r" "w"
Abre para lectura Abre un archivo vaco para escritura Abre para escritura al final del archivo
"a"
"r+"
Abre un archivo "w+" vaco para lectura/escritura "a+" "rb" Abre para lectura y aadir Abre un archivo binario para lectura.
Abre un archivo "wb" binario para escritura "ab" Abre un archivo binario para aadir
Abre un archivo "rb+" binario para lectura/escritura. Abre un archivo "wb+" binario para lectura/escritura Abre o crea un archivo binario "ab+" para lectura/escritura 6 stdio.h 7 stdio.h fprintf(f, ...) int fputc(c, f) int int fprintf(FILE *f, const char *formato [,arg,...]); int fputc(int c, FILE *f); Escribe datos en el archivo f (el resto de los argumentos fprintf(f1, "El resultado es %f\n",result);
8 stdio.h
fputs(s, f)
int
int fputs(const char *cad, Escribe una cadena de fputs("esto es una prueba", f1); FILE *f) caracteres en el archivo f Lee i2 elementos, cada size_t fread(void *b, size_t uno de tamao i1 bytes, fread(buf, strlen(msg)+1, 1, flujo); t, size_t n, FILE *f); desde el archivo f hasta la cadena s Mueve el puntero al archivo f una distancia de 1 bytes desde la posicin i (i puede representar el principio del archivo, la posicin actual del puntero o el fin del archivo. Notas fseek(f1,OL,SEEK_SET); // ir al principio Origen Significado SEEK_SET Principio de archivo
9 stdio.h
10 stdio.h
fseek(f, l, i) int
11 stdio.h
ftell(f)
long int
12 stdio.h
Escribe i2 elementos, size_t fwrite(const void cada uno de tamao 1 *p, size_t i1, size_t i2, FILE num=fwrite(lista,sizeof(char),25,flujo); bytes, desde la cadena s *f); hasta el archivo f int getc(FILE *f); Lee un carcter del archivo f while(c=getc(fx) !=EOF { print ("%c",c);
13 stdio.h
} 14 stdio.h getchar( ) int int getchar(void); Lee un carcter desde el int c; dispositivo de entrada while((*c=getchar()) != '\n') estndar print ("%c",c); Lee una cadena de caracteres desde el dispositivo de entrada estndar Escribe datos en dispositivo de salida estndar. Cdigo Formato %c %d 16 stdio.h printf(...) int int printf(const char *formato[,argumento,...]); Carcter Entero Decimal Real (double o float), notacin cientfica. Coma flotante Cadena de caracteres Hexadecimal sin signo print("producto %d y %d es %d\n",x,y,x*y); gets(nombre);
15 stdio.h
gets(s)
%e
%f %s %x 17 stdio.h 18 stdio.h 19 stdio.h putc(c, f) int int putc(int c, FILE *f); int putchar(int c); int puts(const char *cad)
Escribe un carcter en el putc('*',demo); archivo f Escribe un carcter en el dispositivo de salida putchar('B'); estndar Escribe una cadena de puts("Desea continuar (s/n);
6
caracteres en el dispositivo de salida estndar 20 stdio.h rewind(f) void void rewind(FILE *f); Mueve el puntero al principio del archivo f Lee datos en dispositivo de entrada estndar Cdigo Formato %c %d 21 stdio.h scanf(...) int int scanf(const char *formato {,direccion,...]); %x %i %f %o %p %s 22 stdlib.h abs(i) int int abs(int i); Carcter Entero Decimal Hexadecimal Entero Decimal Nmero Real Octal Puntero Cadena x = abs(-7) // x es 7 double x; char *cad_dbl = "200.85"; ... x=atof(cad_dbl); // convierte la cadena "200.85" a valor real int i; char *cad_ent="123"; ... i=atoi(cad_ent); //convierte la cadena "123" al entero 123
7
rewind(fx);
Devuelve el valor absoluto de i Convierte la cadena s a una cantidad de doble precisin. Requiere el llamado de la biblioteca math.h Convierte la cadena s a un entero. La cadena debe tener el siguiente formato: [espacio en
23 stdlib.h
atof(s)
double
24 stdlib.h
atoi(s)
int
blanco][signo][ddd] (siendo obligatorio los dgitos decimales). Convierte la cadena s a un entero largo. La cadena debe tener el siguiente formato: [espacio en blanco][signo][ddd] (siendo obligatorio los dgitos decimales). long int i; char cad_ent="9876543"; ... i=atol(cad_ent); //convierte la cadena "9876543" al entero largo
25 stdlib.h
atol(s)
long
26 stdlib.h
exit(u)
void
Cierra todos los archivos y buffers y termina el programa. El valor de u exit(0); es asignado por la funcin para indicar el estado de terminacin. Reserva u bytes de memoria. devuelve un puntero al principio del espacio reservado Devuelve un entero positivo aleatorio cadena=malloc(MAX_CHR); // visualizar 10 numeros aleatorios for (i=0;i<10;i++) printf("%6d\",rand());
27 stdlib.h
malloc(u)
28 stdlib.h 29 stdlib.h
rand( ) srand(u)
int Void
Inicializa el generador de srand(semilla); nmeros aleatorios i=strcmp("MNP", "mnp"); // resultado < 0 i=strcmp("abc", "abc"); // resultado = 0 i=strcmp("xy", "abc"); // resultado > 0 char s1[80]="Mayo"; char s2[80]="Octubre"; int j; j=strcmp(s1,s2);
30 string.h
Compara dos cadenas de caracteres lexicogrficamente. int strcmp(const char*s1, Devuelve un valor const char *s2); negativo si s1 < s2; 0 si s1 y s2 son idnticas; y un valor positivo si s1 > s2
31 string.h
Compara dos cadenas de caracteres lexicogrficamente, sin diferenciar maysculas int strcmpi(const char*s1, de minsculas. Devuelve v=strcmpi(s1,s2); const char *s2); un valor negativo si s1 < s2; 0 si s1 y s2 son idnticas; y un valor positivo si s1 > s2 Copia la cadena de char *strcpy(char s1, const caracteres s2 en la char s2); cadena s1 size_t strlen(const char *s); char *s1="Pepe Luis"; char b[12]; strcpy(s2,s1); cout <<s2<< '\n';
32 string.h
strcpy(s1, s2)
Char
33 string.h
strlen(s)
Int
longitud=strlen(nombre); Devuelve el nmero de char s[81]="Cadena demo'; caracteres de una cadena printf("La longitud de s es: %d\n" strlen(s)); Aade la cadena2 al final #include<stdio.h> de #include<string.h> la cadena1 (concatena). #include<stdlib.h> #include<conio.h> Void main() { char c1[15]="Hola", c2[15]=" Mundo"; strcat(c1,c2); printf("%s\n",c1); getch(); }
34
string.h strcat
Char
Strcat(<cadena_destino>, <cadena_fuente>)
35 string.h
strset(c, s) char(puntero)
char *strset(char *cad, int Pone todos los caracteres char *cad="----"; c); de s a c (excluyendo el strset (cad,'x'); // cad es ahora xxxx
9
carcter nulo del final \0) Pasa la orden al sistema operativo. Devuelve cero si la orden se ejecuta correctamente; en otro system(dir); caso devuelve un valor distinto de cero, tpicamente -1. Devuelve el arco coseno angulo = acos(0.5); // angulo devuelto es de d phi/3 Devuelve el arco seno de angulo = asin(0.707); // aproximadamente d phi/4 Devuelve la arco tangente de d. Calcula el arco tangente del angulo atan(1.0); // angulo es phi/4 argumento x. Requiere el llamado de la biblioteca complex.h Devuelve el arco tangente de d1/d2 angulo = atan(y, x)
36 string.h
system(s)
Int
system(comd);
37 math.h 38 math.h
acos(d) asin(d)
Doubl Doubl
39 math.h
atan(d)
Doubl
double atan(double d); long double tanl(long double d); double atan(double d1, double d2);
40 math.h
atan(d1, d2)
double
malloc.h y stdlib.h void *calloc(size_t n, 41 o bien calloc(n, s) void(puntero) size_t s); alloc.h y stdlib.h
Reserva memoria para una formacin de n elementos, cada uno de s bytes. Devuelve un puntero al principio del long *buffer espacio reservado. buffer=(long *) calloc(40, sizeof(long)); Si no existente bastante espacio para el nuevo bloque o bien n o s es 0, calloc devuelve nulo. Devuelve un valor redondeado por exceso redondeo=ceil(5.1); //redondeo es 6 al siguiente entero mayor
10
42 math.h
ceil(d)
double
43 math.h 44 math.h
cos(d) cosh(d)
double double
double cos(double d); complex cos(complex d); double cos(double d); complex cos(complex d); double exp(double d); complex exp(complex d)
Devuelve el coseno de d coseno_x=cos(1.6543) Devuelve el coseno hiperblico de d Eleve e a la potencia d (e=2,7182818... es la base del sistema de logaritmos naturales (neperianos)) Devuelve el valor absoluto de d d=1.00; printf("d=%f.\n\n,d); d=100.00; y=exp(d); printf("El exponencial de x=%f.\n\n",y); y=fabs(-7.25); // y vale 7.25
45 math.h
exp(d)
double
46 math.h
fabs(d)
double
47 math.h
floor(d)
double
Devuelve un valor redondeado por defecto x=floor(6.25); // x vale 6 al entero menor ms cercano. Devuelve el resto de d1/d2 (con el mismo signo que d1) resto=fmod(5.0,2.0); // resto igual a 1.0
48 math.h
fmod(d1, d2)
double
49
void
void free(void *dir_memoria); int fscanf(FILE *f, const char *formato, [, direccion,... ]); double tan(double d); double tanh(double d); long int labs(long int l);
char *cad; Libera un bloque de // asignar memoria a la cadena memoria reservada cuyo cad=(char *)malloc(50); principio est indicado ... por p. free(cad); // liberar memoria Lee datos del archivo f ( el resto de los argumentos fscanf(flujo, %s%f, cad, &f);
fscanf(f, ...) int tan(d) tanh(d) labs(l) double double long int
Devuelve la tangente de y=tan(x); d Devuelve la tangente hiperblica de d Devuelve el calor absoluto de 1 a=tanh(x); long lx=-51654,ly; ly=labs(lx);
11
54 math.h
log(d)
double
55 math.h 56 math.h
double double
Devuelve d1 elevado a la double x=2.0, y=4.0, z; potencia d2 z=pow(x,y); //z sera 1.60 double x, y; x=0.52; printf('x =%f radianes\n",x); y=cos(x); printf("el coseno de x =%f\n",y); y=sinh(x);
57 math.h
sin(d)
double
Devuelve el seno de d
58 math.h 59 math.h
sinh(d) sqrt(d)
double Doubl
Devuelve la raz cuadrada printf("%lf",sqrt(25.0); //se visualiza 5 de d Determina si el argumento es alfanumrico. Devuelve un valor distinto de cero si es cierto; en otro caso devuelve 0 carac=getch(); if (isalnum(carac)) print("%c letra|digito \n",carac); else printf("%c no letra|digito \n", carac);
60 ctype.h
isalnum(c) int
61 ctype.h
isalpha(c)
int
Determina si el argumento es alfabtico. Devuelve un valor int c; distinto de cero si es if (isalpha(c)) printf("%c es letra\n",c); cierto; en otro caso devuelve 0. Determina si el argumento es un int c; carcter ASCII. Devuelve if (isascii(c)) printf('%c es un ascii\n",c) un valor distinto de cero
12
62 ctype.h
isascii(c)
int
si es cierto; en otro caso devuelve 0 Determina si el argumento es un carcter ASCII de control. if(iscntrl(c)) printf"%c es un caracter de Devuelve un valor control\n",c); distinto de cero si es cierto; en otro caso devuelve 0 Determina si el nmero es un digito decimal. Devuelve un valor distinto de cero si es cierto; en otro caso devuelve 0 Determina si el argumento es un carcter ASCII grafico (hex 0x21 -0x7e; octal 041 -176). Devuelve un valor distinto de cero si es cierto; en otro caso devuelve 0 Determina si el argumento es una minscula. Devuelve un valor distinto de cero si es cierto; en otro caso devuelve 0
63 ctype.h
iscntrl(c)
int
64 ctype.h
isdigit(c)
int
65 ctype.h
isgraph(c)
int
66 ctype.h
islower(c)
int
67 ctype.h
isodigit(c)
int
Determina si el argumento es un digito if(isodigit(c)) printf"%c es un digito octal. Devuelve un valor octal\n",c); distinto de cero si es
13
cierto; en otro caso devuelve 0 Determina si el argumento es un carcter ASCII imprimible (hex 0x20 -0x7e; octal if(isprint(c)) printf("\n"c imprimible\n",c); 040 -176). Devuelve un valor distinto de cero si es cierto; en otro caso devuelve 0 Determina si el argumento es un carcter de puntuacin. Devuelve un valor distinto de cero si es cierto; en otro caso devuelve 0
68 ctype.h
isprint(c)
int
69 ctype.h
ispunct(c)
int
70 ctype.h
isspace(c)
int
Determina si el argumento es un espacio en blanco. Devuelve un if(isspace(c)) printf"%c es un valor distinto de cero si espacio\n",c); es cierto; en otro caso devuelve 0 Determina si el argumento es una mayscula. Devuelve un if(isupper(c)) printf"%c es una valor distinto de cero si mayuscula\n",c); es cierto; en otro caso devuelve 0 Determina si el argumento es un digito ifisxdigit(c)) print"%c es un digito hexadecimal. Devuelve hexadecimal\n",c) un valor distinto de cero
71 ctype.h
isupper(c)
int
72 ctype.h
isxdigit(c)
int
14
si es cierto; en otro caso devuelve 0 73 ctype.h 74 75 toascii int int int int toascii(int c); int tolower(int c); int toupper(int c); Convierte el valor del argumento a ASCII Convierte una letra a minscula Convierte una letra a mayscula Devuelve el nmero de segundos transcurridos despus de un tiempo base designado Devuelve la diferencia de tiempo 11(hora2) 12(hora1) , donde 11 y 12 representan el tiempo transcurrido despus de un tiempo base (ver funcin time) c=toascii(entero); c=tolower('s'); //c se convierte en 's' c=toupper('s'); //c se convierte en 'S'
76 time.h
long int
time(&hora); time_t inicio, fin; clrscrl(); inicio=time(NULL); delay(5000) fin=time(NULL) print("Diferencia en segundos: %f\n", difftime(inicio,fin));
77 time.h
15