Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - terrateck

#1
Gracias, estudiaré adoptar estas soluciones.
#2
El problema es que cada registro no ocupa el mismo espacio dentro del fichero, ya que posee números y cadenas de caracteres de longitud variable. Y estoy trabando en modo texto, no binario.
#3
Gracias por tu respuesta naderST.

Parece una buena idea. ¿Hay alguna función que permita obtener directamente el tamaño de un fichero abierto?
#4
Hola a todos, me gustaría plantear la siguiente cuestión:

Tengo un fichero de texto en el que cada linea corresponde a un registro de tipo Struct, y necesito leer y almacenar cada uno de esos registros en memoria.
El problema es que de antemano no sé el número de registros que tendrá el fichero, por lo que no puedo establecer el número de celdas que tendrá el array de tipo Struct.

¿Cual sería la manera más optima de crear el array sin desperdiciar memoria?
He pensado que quizá podría contar el número de lineas del fichero y luego volver al comienzo de nuevo. ¿Alguna otra solución?


Saludos.
#5
Gracias rir3760 por la aclaración conceptual y por la corrección. Me ha servido para solucionar el problema.

Parece que el usuario dayu34 está haciendo spam.

Saludos
#6
Hola a todos,

Estoy teniendo problemas con las funciones time y localtime para obtener la hora local. En el siguiente ejemplo que muestro intento obtener dos fechas diferentes con un delay de 5 seg entre ellas, usando variables independientes.
Antes de obtener la segunda fecha imprimo también en pantalla la primera para la comprobación.

Código (cpp) [Seleccionar]
#include <stdio.h>
#include <time.h>
#include <windows.h>

#define TFECHA 30

int main ()
 {
 time_t t1,t2;
 struct tm *tinfo1, *tinfo2;
 char f1[TFECHA],f2[TFECHA];

 time(&t1);
 tinfo1=localtime(&t1);
 strftime(f1, TFECHA, "%d/%m/%Y %H:%M:%S", tinfo1);
 printf("%s\n", f1);

 Sleep(5000);

 time(&t2);
 tinfo2=localtime(&t2);

 strftime(f1, TFECHA, "%d/%m/%Y %H:%M:%S", tinfo1);
 strftime(f2, TFECHA, "%d/%m/%Y %H:%M:%S", tinfo2);
 printf("%s\n%s", f1,f2);

 return 0;
 }



Sin embargo al imprimir al final las dos últimas fechas, los valores que se obtienen son exactamente iguales. No entiendo por qué al ejecutar tinfo2=localtime(&t2) la estructura t1 también se ve alterada...

Salida generada:

25/12/2013 15:38:34
25/12/2013 15:38:39
25/12/2013 15:38:39


Si alguien pudiera aclarármelo se lo agradecería.

Saludos.
#7
Scripting / Re: Script batch para ping
19 Junio 2013, 22:33 PM
Gracias a todos
#8
Scripting / Re: Script batch para ping
19 Junio 2013, 14:34 PM
Cita de: Royca3 en 19 Junio 2013, 01:49 AM
Utiliso el Batch de Meine programmen pero no me guarda los resultados? es porque no hay problema y ningún paquete se pierde?

Saludos.

Efectivamente si no hay ningún problema con la conexión no te generará ningún resultado. Prueba a deshabilitar la conexión a la red mientras se ejecuta y así podrás comprobar que guarda los resultados en el fichero paquetesperdidos.txt.

Cita de: Meine programmen en 19 Junio 2013, 10:18 AM
Desde cmd el comando si que llevaria solo un signo %, pero en un .bat tienes que poner dos para que funcione. Con el comando FOR pasa lo mismo. No se exactamente por qué, pero es así.

Es curioso, gracias por la información.

Cita de: engelx en 19 Junio 2013, 10:19 AM
aquí está

https://mega.co.nz/#!udQhzbIJ!MWfyeSP4ttCjbNdZ3EL8xClyVlp01-c_yRi_4dEo-jA


el crea en la carpeta donde se ejecute un archivo llamado ping.txt con la info en el formato

2013-06-19 10:47AM. - Respuesta desde 201.248.76.20: bytes=32 tiempo=20ms TTL=59

si lo ejecutas
ping.exe -t 3
se hará ping cada 3 segundos (o los segundos que establescas luego de "-t") si no especificas nada, hará ping cada 1 segundo (sumado a la espera del ping, me dio pereza corregir eso)

si el ping falla puede decir que "tiempo de espera agotado" o simplemente dejarlo en blanco si el host lo da inaccesible... (tambien me dio pereza corregir eso)

hace ping contra google.com por si a las dudas...

el continua escribiendo el archivo donde lo dejó si lo cierras... espero te sea útil

Gracias engelx. También había pensado hacerlo en C que lo controlo más pero al no ser demasiado complejo pensé que no merecía la pena y esto sería más rápido. De todas formas sería interesante ver como lo implementaste, ¿no tendrás el código por ahí para echarle un vistazo?

Lo suyo es ajustar el tiempo entre pings a la calidad de la conexión, porque sino como dices se te va a llenar el logs de miles de entradas xD.
Yo lo voy a usar porque actualmente tengo microcortes de conexión, y el log del cable router no es demasiado fiable.  Estoy intentando que la operadora lo solucione y esto me es de gran ayuda para diagnosticarlo.
#9
Scripting / Re: Script batch para ping
19 Junio 2013, 01:06 AM
Hola,
Ya lo he probado y funciona correctamente, es justo lo que quería.
Gracias por la ayuda prestada.

Una cuestión: ¿por que en la instrucción find se busca "(0%% perdidos"? Me refiero al doble signo de porcentaje.
#10
Scripting / Re: Script batch para ping
18 Junio 2013, 22:46 PM
Gracias por la ayuda, Meine programmen.

Lo he probado, pero tras introducir el numero de segundos y generarse el fichero 1.txt, me da el error de la sintaxis del comando no es correcta, y se cierra directamente.

¿Dónde puede estar el problema?