Para los entendidos en C

Vereis tengo un fichero con varias cadenas y una de ellas es un numero que indica la fecha en segundos desde el dia 1 del 1 de 1970 (tipico en unix) pues me gustaria saber si existe alguna funcion que la transforme a fecha normal Dia/mes/año hora:minutos y de ser asi como se usaria (un ejemplito a poder ser) [beer]
Te sirve?:

http://www.die.net/doc/linux/man/man3/ctime.3.html

Saludos

PD: Qué menos que dominar C para un hacker como tú [sati]
Gracias tio, lo del nick es modo ironico [ok] XD
Hackerman escribió:me gustaria saber si existe alguna funcion que la transforme a fecha normal Dia/mes/año hora:minutos y de ser asi como se usaria (un ejemplito a poder ser)

Prueba con las funciones módulo y resto.
Y ya para terminar el fichero al que le tengo que escanear lineas tiene lineas asi
1129649178.332   722 192.168.1.104 TCP_MISS/403 586 GET [url]http://www.sangrefria.com/varios/antonio_reguera/antonioreguera3.jpg[/url] - DIRECT/213.149.241.129 text/html

¿como seria el fscanf?
El problema lo tengo a la hora de declarar las variables, por ejemplo para la primera la declaro float pero no se porque no coje las cifras decimales, luego con la ip creo que la pillare como cadena, haber si me decis como pillo el tiempo y de paso como seria para pasarlo a fecha normal que no me ha quedado muy claro leyendo el tutorial (mi ingles es pesimo).
Pues para pasar a fecha normal con un poquito de matracas deberia bastarte, tienes el numero de segundos no ??, Pues ya sabes, saca el numero de años transcurrido, el numero de meses, el numero de dias, y el numero de horas y minutos, no me parece excesivamente complicado ....

Se puede saber por qe tienes qe hacerlo en C?? me parece mas sencillo hacerlo con awk en bash(mi idea de tratamiento de ficheros con C es mas bien escasa)...

Un saludo
Sertinell escribió:Se puede saber por qe tienes qe hacerlo en C??

Tiene toda la pinta de ser una práctica de la Universidad, y ya más ayuda es hacerla.
Porque con awk en bash ya lo hemos echo, ahora toca en C, estamos haciendo el mismo programa (un analizador de fichero log de squid) para varios lenguajes y asi vemos el mas eficiente, haber si alguien me dice como recoger esos numeros y variables y si tienen que ser de algun tipo dichas variables.
Tio has mirado algun manual de C??? no me creo qe no este por ningun sitio como cojer ciertas cadenas de texto .... o si no mira el codigo de awk, al fin y al cabo es libre :)
Haber el año pasado me di un curso entero de C, lo unico que necesito es saber como cojer el numero primero y como definir la variable que lo almacena, solo eso, haber si alguien me lo aclara, le estaria muy agradecido.
Más mascado todavia:

main {
int indice;
double recuperado;
char conversion[MAX_CARACTERES];
char linea[MAX_CARACTERES];
char caracter = '';

linea = leerLineaFichero();

while ((caracter != 'TAB') || (caracter != 'ESPACIO'))  {

conversion[indice] = linea[indice];
caracter = linea[indice];

} // del while()

recuperado = atod (conversion);

} // del main()


Tómatelo como seudocodigo. Si quieres pillar muchos valores a la vez usa leete el man de fscanf, que para eso está, o haz como todo hijo de vecino y busca un código de ejemplo.

EDITO:

http://koders.com/c/fidABAA0390C8826F945836505E647D20E0D0F9ACA0.aspx?s=fscanf

   [b]FILE * fptr;[/b]
   [b]int num[/b], min;
   [b]char dhost[ URL_MAX_LEN ];[/b]
   min = INFINITY;
   
   fptr = fopen(SERV_LIST ,"r");
   if(fptr == NULL)
   {
      err_hdlr(2, "choose_server");   
      return(ADMIN_FAILURE);
   }
   [b]fscanf(fptr, "%s %d", dhost, &num);[/b]


Más fácil imposible

EDITO:
Sólo quiero decir que ...
DE NADA
13 respuestas