Omitir navegación.
Inicio

C

Imagen de SebaMinguez

090428

BuscaPrograma.c

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
 
int main (int argc, char **argv)
{
	char l [1024], l1[1024], *p;
	strcpy(l, getenv("PATH"));
	p = strtok(l, ":");
	for (;p!=NULL;p=strtok(NULL, ":")) {
		strcat (strcat (strcpy(l1, p),"/"),argv[1]);
		if (access(l1, X_OK)==) {
			printf("%s esta en %s \n", argv[1], p);
			return ;
		}
	}
	printf ("%s no existe \n", argv[1]);
	return -1;
}
Exec.c
#include <stdio.h>
#include <unistd.h>
int main()
{
	printf("Vamos ! ");
	getchar();

Imagen de SebaMinguez

090423 Campos de Bits

/* Campos de bits */
 
struct CB {
	unsigned i:3;
	int j:3;
	unsigned:4  //Sin nombre
	int r:1;
};
 
struct CB s;
 
/* Esto genera un area de memoria s de 32 bits pero dividido de la siguiente manera:
 *                        r       j   i
 * |                     | |    |   |   |
 *
 * El campo sin nombre se utiliza solo de relleno.
 
*/

Imagen de SebaMinguez

Taller con Guido Macchi

Solo a titulo de separar ambas aprtes de las materias

Imagen de SebaMinguez

Implementación comunicación Cliente Servidor UDP (C)

Esta vez con protocolo UDP. Correspondiente a la clase de guido del 08/09/09

ServidorUDP.c

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <ctype.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <signal.h>
 
#define	PORT	5000
 
typedef struct sockaddr *sad;
 
void error (char *s)
{
	exit ((perror(s),-1));
}
 
int main ()
{
	int sock;
	struct sockaddr_in sin, sin1;
	char linea[1024];
	socklen_t l;
	int cto;

Imagen de SebaMinguez

Implementación Servidor Concurrente (C)

Correspondiente a la clase del 08/09/2000 de Guido Macchi.

Se extiende el código base utilizado en la Implementación comunicación Cliente Servidor (C) para poder atender de manera concurrente a varios clientes.

Se utiliza el mismo cliente anterior, debiéndose ejecutar varias veces para notar el efecto. Vale mencionar que los clientes se deben ejecutar en un periodo breve de tiempo, sin esperar a que el primer clietne termine para comenzar la ejecución del segundo.

Distribuir contenido