Avatar billede jonlanghoff Nybegynder
02. januar 2006 - 13:47 Der er 17 kommentarer og
1 løsning

Læsning af filstørrelse

Jeg har et txt-dokument med en række stier til nogle filer. Jeg vil gerne ha' disse filers størrelse appended til dokumentet. Her ses et udsnit af dokumentet...

c:\dev/trunk\BKSDK\MATLAB6p5\extern\lib\win32\microsoft\msvc70\libmat.lib
c:\dev/trunk\BKSDK\MATLAB6p5\extern\lib\win32\microsoft\msvc70\libmatlb.lib
c:\dev/trunk\BKSDK\MATLAB6p5\extern\lib\win32\microsoft\msvc70\libmex.lib
c:\dev/trunk\BKSDK\MATLAB6p5\extern\lib\win32\microsoft\msvc70\libmmfile.lib
c:\dev/trunk\BKSDK\MATLAB6p5\extern\lib\win32\microsoft\msvc70\libmwmcl.lib
c:\dev/trunk\BKSDK\MATLAB6p5\extern\lib\win32\microsoft\msvc70\libmwservices.lib

På forhånd tak!
Jon :)
Avatar billede arne_v Ekspert
02. januar 2006 - 13:49 #1
du kan hente fil størrelserne med stat funktionen

men du skal læse det gamle dokument og skrive et ny dokument - du kan ikke
indsætte i en tekst fil
Avatar billede jonlanghoff Nybegynder
02. januar 2006 - 14:14 #2
super. send et svar.
Avatar billede arne_v Ekspert
02. januar 2006 - 14:43 #3
gerne

men skriv hvis du skal have det uddybet
Avatar billede jonlanghoff Nybegynder
02. januar 2006 - 14:47 #4
Okay altså, jeg ved godt at du besvarer rimeligt mange indlæg herinde, men det kan godt være du kan huske mig alligevel. Jeg bad om hjælp til at skrive noget kode der kunne finde dubletter af filer, og skrive disse ind i en log. Det går meget fint, men nu vil jeg så også gerne skrive nogle flere karaktaristika på filerne ind i loggen, så man rent faktisk kan se om de ER ens eller om de bare hedder det samme. Tænkte at jeg ville gøre det vha. størrelsen på filen, men nu kan jeg godt at se det måske er smartere at gå efter hvornår filerne er modified... Hvad ville du gøre? Har du evt. en MSN-konto??
Avatar billede jonlanghoff Nybegynder
02. januar 2006 - 15:30 #5
la.
Avatar billede arne_v Ekspert
02. januar 2006 - 15:55 #6
ah så er det nemt

WIN32_FIND_DATA strukturen som du så bruger indeholder både størrelse og tid !!
Avatar billede arne_v Ekspert
02. januar 2006 - 17:08 #8
og jeg bruger normalt ikke IM programmer
Avatar billede jonlanghoff Nybegynder
03. januar 2006 - 10:40 #9
Okay, jeg kigger lige på det...
Avatar billede jonlanghoff Nybegynder
03. januar 2006 - 12:18 #10
Nå, jeg kan sgu ikke lige hitte ud af det... Gider du kigge på koden, og fortælle mig hvad jeg skal gøre, arne_v?

www.v-gang.dk/source_reporter.txt

På forhånd tak!
Avatar billede arne_v Ekspert
03. januar 2006 - 14:24 #11
hvad vil du gøre hvor i koden ?
Avatar billede jonlanghoff Nybegynder
03. januar 2006 - 14:37 #12
Ja, det var jo noget med WIN32_FIND_DATA strukturen... Den skal også hente en filstørrelse og en modified-dato, og skrive det ind i 'sr_log_filtered.txt'. Det er sikkert ikke så besværligt, men jeg er stadig ret ny i C, så har lidt svært ved at finde rundt i syntaxen...
Avatar billede arne_v Ekspert
03. januar 2006 - 14:44 #13
fnddat->cFileName indholder filnavn
fnddat->dwFileAttributes indeholder attributter herunder om det er et directory
fnddat->nFileSizeLow indeholder de laveste 32 bit (4 GB) af fil størrelsen
fnddat->ftLastWriteTime.dwLowDateTime indeholder de laveste 32 af tiden for sidste ændring
Avatar billede jonlanghoff Nybegynder
12. januar 2006 - 12:26 #14
Arne, jeg tænkte på om det var muligt at minimere antallet af fopen og fclose i programmet. Det sker jo relativt mange gange når man afvikler, så er det ikke muligt at lave én fopen i starten af programmet og én fclose i slutningen? Det må da spare resourcer...?

http://www.v-gang.dk/Source%20Reporter.txt
Avatar billede arne_v Ekspert
13. januar 2006 - 21:41 #15
jeg kan ikke helt gennemskue dit spørgsmål

åbner og lukker du fil i en løkke ?
Avatar billede jonlanghoff Nybegynder
16. januar 2006 - 09:18 #16
Jeg fandt selv ud af det. Programmet åbnede og lukkede logfilen hver gang den skulle appende en ny linie, men nu bliver den åbnet via en funktion i starten, og lukket til sidst. Det har optimeret programmet væsentligt!
Avatar billede jonlanghoff Nybegynder
18. januar 2006 - 09:08 #17
Hej igen! :)

Hvad gør man hvis man gerne vil have programmet til at eksekvere en fil? En .txt-fil i dette tilfælde...
Avatar billede jonlanghoff Nybegynder
18. januar 2006 - 09:10 #18
Hehe, den klarede jeg også selv:

system("lalala.txt");

:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester