Avatar billede Smithereen Juniormester
19. april 2015 - 15:06 Der er 3 kommentarer og
1 løsning

Finde største fil in directory

Hej alle,

undskyld, jeg er ikke voldsomt god til C og jeg har uden så meget succes googlet rundt for at finde svaret på flg:

Hvordan finder jeg den største fil i en givet folder/directory?

Jeg skal ikke finde de største directories eller liste alle filerne i en direcory, blot finde den største i en folder som vi for nemheds skyld kan kalde "c:\tjuhej".

Sproget er C (Code::blocks under windows8, MinGW compileren), ikke C++ eller C#, og det er ikke under windows men jeg kunne vel godt include windows.h hvis det gør sagen lettere.

Håber nogen har tid til at komme med et godt forslag.
Mange tak på forhånd.
Avatar billede arne_v Ekspert
19. april 2015 - 15:22 #1
Eksempel:


#include <stdio.h>

#include <windows.h>

int main()
{
  WIN32_FIND_DATA data;
  HANDLE h = FindFirstFile("C:\\work\\*.*",&data);
  if(h!=INVALID_HANDLE_VALUE) {
    printf("%s %d %d\n",data.cFileName,data.nFileSizeHigh,data.nFileSizeLow);
    while(FindNextFile(h,&data)) {
        printf("%s %d %d\n",data.cFileName,data.nFileSizeHigh,data.nFileSizeLow);
    }
  }
  FindClose(h);
  return 0;
}
Avatar billede arne_v Ekspert
19. april 2015 - 15:23 #2
OK - eksmeplet viser kun filnavn og stoerrelse paa all filer i et dir - du mangler saa at finde den stoerste.
Avatar billede Smithereen Juniormester
19. april 2015 - 15:53 #3
Flot,

tak Arne, så har jeg da lidt at arbejde med.
Hvorledes kan jeg give dig pointsene?
Avatar billede arne_v Ekspert
19. april 2015 - 19:03 #4
jeg smider et svar som du kan acceptere
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

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