/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Returner fil-alder?
Fra : Anders Jensen


Dato : 11-04-05 13:28

Jeg vil gerne have en EXE fil, der udskriver "last modified" alder på en
fil.

F.eks. "fileage.exe C:\myfile.txt" giver et output på f.eks. 11?

Hvordan laver jeg sådan et simpelt lille C-program? Det er håbløst at
gøre i ren DOS og VBScript er ligeså omfattende at forstå.

 
 
Jacob Bunk Nielsen (11-04-2005)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 11-04-05 13:31

Anders Jensen <aj56176258@hotmail.com> writes:

> Jeg vil gerne have en EXE fil, der udskriver "last modified" alder på en
> fil.
>
> F.eks. "fileage.exe C:\myfile.txt" giver et output på f.eks. 11?

11 hvad?

Findes stat(const char *file_name, struct stat *buf) på Windows? I så
fald kan du bruge den.

--
Jacob - www.bunk.cc
One person's error is another person's data.

Anders Jensen (11-04-2005)
Kommentar
Fra : Anders Jensen


Dato : 11-04-05 14:50

>>F.eks. "fileage.exe C:\myfile.txt" giver et output på f.eks. 11?
>
> 11 hvad?

Dage.

> Findes stat(const char *file_name, struct stat *buf) på Windows? I så
> fald kan du bruge den.

Aner det ikke? Jeg er ikke vant til at kode i C. Det sidste jeg har
programmeret var i DOS dagene for mange år siden.

Jacob Bunk Nielsen (11-04-2005)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 11-04-05 16:18

Anders Jensen <aj56176258@hotmail.com> writes:

>>>F.eks. "fileage.exe C:\myfile.txt" giver et output på f.eks. 11?
>> 11 hvad?
>
> Dage.

OK - det skulle nok kunne lade sig gøre med stat() og så ellers regne
lidt på det du får tilbage. stat() returnerer både atime, mtime og
ctime. Jeg tror det er mtime du vil bruge.

>> Findes stat(const char *file_name, struct stat *buf) på Windows? I så
>> fald kan du bruge den.
>
> Aner det ikke? Jeg er ikke vant til at kode i C. Det sidste jeg har
> programmeret var i DOS dagene for mange år siden.

Jeg ved det desværre heller ikke. Jeg bruger ikke Windows. Prøv at slå
det op i din lokale dokumentation, som sikkert ligger på dit system et
eller andet sted.

--
Jacob - www.bunk.cc
The bigger the theory the better.

Bertel Brander (11-04-2005)
Kommentar
Fra : Bertel Brander


Dato : 11-04-05 19:27

Anders Jensen wrote:
> Jeg vil gerne have en EXE fil, der udskriver "last modified" alder på en
> fil.
>
> F.eks. "fileage.exe C:\myfile.txt" giver et output på f.eks. 11?
>
> Hvordan laver jeg sådan et simpelt lille C-program? Det er håbløst at
> gøre i ren DOS og VBScript er ligeså omfattende at forstå.

Man kunne starte her:

#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char *argv[])
{
if(argc != 2)
{
fprintf(stderr, "You must specify a file\n");
return EXIT_FAILURE;
}
struct stat Stat;
if(!stat(argv[1], &Stat))
{
time_t Now;
time(&Now);
double Diff = difftime(Now, Stat.st_mtime);
printf("Age: %d Days", int(Diff/(60*60*24)));
}
else
{
fprintf(stderr, "Failed to get info for %s\n", argv[1]);
return EXIT_FAILURE;
}
}

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel

Søg
Reklame
Statistik
Spørgsmål : 177438
Tips : 31962
Nyheder : 719565
Indlæg : 6408046
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste