Re: files manipulation




hi,

you are doing right, just not showing all records.
attached your own code, slightly retouched.

alex

ram.ragu@xxxxxxxxx wrote:
hi
i can read the records. here the code is..
/*finding the difference btween times*/
#include <stdio.h>
#include<ctype.h>
#include<time.h>
main()
{
char buf[1000];
char dummy[50],dates[11],times[9];
int day,month,year,hour,minute,second,jobid;
FILE *ptr;
clrscr();;
ptr = fopen("read.txt","r");
while (feof(ptr) == 0)
{
fgets(buf, 1000, ptr); /* Read next record */
if(isdigit(buf[0]))
{
sscanf(buf,"%d %s %s %s %s %s
%s",&jobid,dummy,dummy,dummy,dummy,dates,times);
printf("\n\n\n\n\n\n\n\n %d %s %s",jobid,dates,times);
sscanf(dates,"%d/%d/%d",&month,&day,&year);
printf("\n\n\n%d %d %d",month,day,year);
sscanf(times,"%d:%d:%d",&hour,&minute,&second);
printf("\n\n\n %d:%d:%d",hour,minute,second);
}
/* printf("%s",buf); O/P the record to the screen */
}
}




in this code how can i go to the next records? here i can get only
one record.. then here i want to do time difference between two
records..
alex bodnaru wrote:

hi ram,

i would open the logfile in text read mode, and fgets each line in a
buffer long enough.
of the lines read, select the ones that contain your data, as i
understand, those that begin with a number:
if (isdigit(buf[0])) { ... }
then scan the line data with sscanf:
int jobid;
char dummy[50], dates[11], times[9];
sscanf(buf, "%d %s %s %s %s %s %s", &jobid, dummy, dummy, dummy, dummy,
dates, times);
please note, thay you may need to set the proper spacing between the
fields in the format string.
now, sscanf again, to get the time integer values:
int day, month, year, hour, minute, second;
sscanf(dates, "%d/%d/%d", &month, &day, &year);
sscanf(times, "%d:%d:%d", &hour, &minute, &second);
now get the system time and do your calculations.

good luck,

alex


ram.ragu@xxxxxxxxx wrote:

hi
i have problem which is simple but im struggling to solve it..below i
gave one sample of log file which is in text file format.the problem is
i have to get time in this logfile and deduct the time from system file
finally i have to bring the answer to standard output.. i got idea of
reading line from logfile and copy to stdout. but the problem is i
can't do manipulation(getting time difference) in textfile..some body
please help me out..


logfile:
---------

jobid time
------------------------------------------------------------

181 0 ._11CH_CAS render qw 07/23/2005 00:08:44
112,113
Full jobname:
._11CH_CAS1_q123s001_001_222_T2_ExtVeh02_SHD.ma


182 0 ._11CH_CAS render qw 07/23/2005 00:17:43
125-131:1
Full jobname:
._11CH_CAS1_q123s001_001_222_T1_ExtVeh02_SHD.ma
183 0 ._11CH_CAS render qw 07/23/2005 00:27:05
125
Full jobname:
._11CH_CAS1_q123s001_001_222_T2_ExtVeh02_SHD.ma
184 0 ._11CH_CAS render qw 07/23/2005 01:33:07
70-133:1
Fulljobname:
._11CH_CAS1_q01s001_001_222_T3_EXTRA_VEHICALS_SHD.ma


185 0 ._11CH_CAS render qw 07/23/2005 01:36:57
70-133:1
Full jobname:
._11CH_CAS1_q123s001_133_185_T3_ExtVeh03_SHD.ma


the output in stdout should be like this:


jobid timedifference(this is diff between logfiletime and
systemtime)
-----------------------------------
181 1000 minutes





/*finding the difference btween times*/
#include <stdio.h>
#include<ctype.h>
#include<time.h>
main()
{
char buf[1000];
char dummy[50],dates[11],times[9];
int day,month,year,hour,minute,second,jobid;
FILE *ptr;
/*clrscr();;*/
ptr = fopen("logfile.txt","r");
while (feof(ptr) == 0)
{
fgets(buf, 1000, ptr); /* Read next record*/
if(isdigit(buf[0]))
{
sscanf(buf,"%d %s %s %s %s %s %s",
&jobid,dummy,dummy,dummy,dummy,dates,times);
printf("%d %s %s\n",jobid,dates,times);
sscanf(dates,"%d/%d/%d",&month,&day,&year);
printf("\t%d %d %d\n",month,day,year);
sscanf(times,"%d:%d:%d",&hour,&minute,&second);
printf("\t%d:%d:%d\n",hour,minute,second);
}
/* printf("%s",buf); O/P the record to the screen*/
}
fclose(ptr);
}



Relevant Pages

  • Re: files manipulation
    ... int jobid; ... i have to get time in this logfile and deduct the time from system file ... reading line from logfile and copy to stdout. ... Full jobname: ...
    (comp.os.msdos.djgpp)
  • Re: files manipulation
    ... alex bodnaru wrote: ... i have to get time in this logfile and deduct the time from system file ... Full jobname: ...
    (comp.os.msdos.djgpp)
  • Re: Is there a guide to Upgrading a FreeBSD server remotely
    ... On Wed, 3 Dec 2003, Alex de Kruijff wrote: ... but it requires going into single user mode and ... Do everything step by step and keep a logfile to check if ... buildworld will go on and you can ...
    (freebsd-questions)
  • Re: set event button click
    ... thanks a lot for the answer alex. ... OpenNETCF functions GetCapture() and PostMessage. ... I was not able to implement this msgs in the Win32Window class in ... private void simulatedClickEvent(int xpos, int ypos) { ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: getting crash when erasing last from vector
    ... "Alex" wrote: ... Please execute below code snippet. ... int main ... vectorMyIntVec; ...
    (microsoft.public.vc.stl)