From: recep yagci (ryagci23@gmail.com)
Date: Thu 09 Jun 2005 - 19:27:45 EEST
Merhaba,
problemin sebebi nowtm_start i struct tm * tipinde bir pointer olarak
tanimladiginizdan kaynaklaniyor,
localtime in man sayfasina bakarsak (The localtime() function converts the
calendar time timep to broken-time representa-tion) seklinde bir aciklama
var,sizde nowtm_start i pointer olarak tanimladiginiz icin localtime
degistikce o da degisiyor,programi asagidaki sekilde degistirirsek ve start
time i static bir tm structure ina alirsak dogru sonuc elde ediliyor.
Kolay gelsin...
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
int main(){
time_t binarytime1,binarytime2;
struct tm *nowtm_start,*nowtm_end;
struct tm timer;
time(&binarytime1);
nowtm_start = localtime( &binarytime1 );
timer=*nowtm_start;
printf("program uyumaya basliyor\n");
sleep(10);
printf("program uyandi\n");
time( &binarytime2 );
nowtm_end = localtime ( &binarytime2 );
printf( "timer %s\n",asctime(&timer));
printf( "start %s\n",asctime(nowtm_start));
printf( "end %s\n",asctime(nowtm_end));
printf("now1=%d\n",binarytime1);
printf("now2=%d\n",binarytime2);
return 0;
}
cikti:
---- program uyumaya basliyor program uyandi timer Thu Jun 9 19:23:26 2005start Thu Jun 9 19:23:36 2005
end Thu Jun 9 19:23:36 2005
now1=1118334206 now2=1118334216
On 6/9/05, Motorola <abdullah.kayaalp@gmail.com> wrote: > > arkadaslar merhaba, > c'de mysql'e ulasip bir tabloyu listeleyen cok basit bir program > yazdim.listeleme isinin nekadar zaman aldigini bulmaya calisiyorum. > ancak garip degerler elde ediyorum. > kod asagiya yapistirdim. sonuclarda kodun devaminda bu konuda > yorumlarinizi bekliyorum... > > #include <stdlib.h> > #include <stdio.h> > #include <string.h> > #include <time.h> > #include </usr/local/mysql/include/mysql/mysql.h> > > int main(){ > MYSQL *conn; > MYSQL_RES *res; > MYSQL_ROW row; > > char *server = "localhost"; > char *user = "root"; > char *password = "root"; > char *database = "buyuk"; > > time_t binarytime1,binarytime2; > struct tm *nowtm_start,*nowtm_end; > > time(&binarytime1); > nowtm_start = localtime( &binarytime1 ); > > > conn = mysql_init(NULL); > > /* Connect to database */ > if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, > 0)) > { > fprintf(stderr, "%s\n", mysql_error(conn)); > exit(0); > } > > /* send SQL query */ > if (mysql_query(conn, "SELECT * FROM ak_matris limit 1000000" )) > { > fprintf(stderr, "%s\n", mysql_error(conn)); > exit(0); > } > > res = mysql_use_result(conn); > > /* output fields 1 and 2 of each row */ > while ((row = mysql_fetch_row(res)) != NULL) > printf("%s | %s | %s\n", row[0], row[1],row[2]); > mysql_close(conn); > > time( &binarytime2 ); > nowtm_end = localtime ( &binarytime2 ); > > > printf( "start %s\n",asctime(nowtm_start)); > printf( "end t %s\n",asctime(nowtm_end)); > > printf("now1=%d\n",binarytime1); > printf("now2=%d\n",binarytime2); > > } > > birmilyon kayıtın listelenmesi ölçülebilir bir zaman aliyor ancak > programimin ciktisi asagidaki sekilde: > > > start Thu Jun 9 19:48:11 2005 > end t Thu Jun 9 19:48:11 2005 > > now1=1118335652 > now2=1118335691 > > neyi atilyorum, neyi gozden kaciriyorum. yorumlarinizi bekliyorum. > > _______________________________________________ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > > >
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama