Foros del Web » Administración de Sistemas » Unix / Linux »

Llamadas con system() y desde C

Estas en el tema de Llamadas con system() y desde C en el foro de Unix / Linux en Foros del Web. Necesito obtener la hora y minutos de sistema en debian desde un programa en c y realizar una serie de operaciones; Con esto obtengo de ...
  #1 (permalink)  
Antiguo 22/05/2004, 15:45
 
Fecha de Ingreso: septiembre-2003
Mensajes: 26
Antigüedad: 21 años, 2 meses
Puntos: 0
Llamadas con system() y desde C

Necesito obtener la hora y minutos de sistema en debian desde un programa en c y realizar una serie de operaciones;

Con esto obtengo de forma separado la hora y los minutos, desde consola:

date +"%H"
date +"%M"

Bien, pues necesito ejecutarlo la llamada system() desde c, en debian. Lo he intentado de las siguientes formas:

1) Ejecutando directamente:
hora= sytem("date +""%H"");
pero no funciona por el tema de las comillas, ya sólo coge el "date +" sin tener en cuenta el resto de la cadena


2) Ir almacenando poco a poco en una cadena
por partes de la siguiente forma:
strcpy(cadena,"date +");
strcat(cadena,""%H"");
system(cadena)

Lo mismo, no me coge nada cuando pongo dobles comillas. Me imagino que hay alguna forma de pasar "" dentro de otras "", si alguien me iluminara, gracias.
  #2 (permalink)  
Antiguo 22/05/2004, 16:16
 
Fecha de Ingreso: septiembre-2003
Mensajes: 26
Antigüedad: 21 años, 2 meses
Puntos: 0
Dícese de los caracteres de escape o "scape Characters". '\' antes del caracter a ocultar.
  #3 (permalink)  
Antiguo 16/06/2004, 12:53
 
Fecha de Ingreso: junio-2004
Mensajes: 1
Antigüedad: 20 años, 5 meses
Puntos: 0
Sonrisa Llamadas con system() desde C

Hola!

Para lograr que system() ejecute un comando con varios parametros.

Por ejemplo: gcc ejemplo.c -o ejemplo

Es necesario ir concatenando cada palabra en un solo string.

main()
{
char cadena[255]="", archivoin[32]="ejemplo.c", archivoout[32]="ejemplo";
strcat(cadena,"gcc\t");
strcat(cadena,"archivoin");
strcat(cadena,"\t-o\t");
strcat(cadena,"archivoout");
system(cadena);
}

NOTA 1: El \t es para el espacio en blanco

NOTA 2: Si el comando requiere incluir comillas se tiene que concatenar en el string con: \"
  #4 (permalink)  
Antiguo 17/06/2004, 05:28
Avatar de Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicación: España
Mensajes: 1.430
Antigüedad: 23 años, 5 meses
Puntos: 0
¿ Y si utilizas strftime ?

http://nbsmtp.ferdyx.org/html/util_8c.html#a5 -> Aquí tienes un ejemplo de uso. Por otro lado, man strftime debe darte toda la información que puedas necesitar.

Salu2.Ferdy
__________________
Born to be free
Por una sociedad del conocimiento libre
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:20.