26. april 2000 - 18:07Der er
15 kommentarer og 1 løsning
Fil håndtering i C
Indlæs det antal filer fra et dir der har extension .txt, antallet kan skifte fra gang til gang, og efter filerne er indlæst, er det meningen at man skal kunne hente hver af dem og læse indholdet af den enkelte fil....
Det rider mig bare som en mare, og jeg har bare brugt så meget tid på det nu. Please en eller anden HJÆÆÆÆÆÆÆÆLP!!! :(
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Hvis det er til Windows, kan du benytte funktionerne FindFirstFile, FindNextFile og FindClose.
FindFirstFile tager en parameter FILENAME, og her kan du give den "c:\documents\*.txt", og den vil så søge efter txt filer i pathen c:\documents. Det er nok den simpleste løsning.
//-------------------------------------------- WIN32_FIND_DATA FindData; HANDLE FindHandle=FindFirstFile("c:\\documents\\*.txt", &FindData); bool FindOk; if (FindHandle) FindOk=true; else FindOk=false; while (FindOk) { char* FileName=FindData.cFileName; //... gør noget med FileName FindOk=FindNextFile(FindHandle, FindData); } FindClose(FindHandle);
//-------------------------------------------- Sådan noget i den stil...
Jeg har brugt den der findfirst, og findnext, men af underlige årsager, kan jeg ikke komme til at få mere en den sidste fil. Hvis der f.eks. er 6 filer, kan jeg kun læse den sidste fil fra et array... for det er det jeg gerne vil lægge det i en anden funktion der så gør hvad den nu skal gøre, returnere til funktionen, finde næste fil, gøre hvad..... osv. men det vil ikke som jeg vil.... jeg bruger Turbo C++ hvis det er en hjælp Jeg kan ikke finde ud af bruge VC++ så det kommer det aldrig til....
Så vidt jeg kan se, bruger du ikke FindFirstFile og FindNextFile, som jeg har foreslået, men derimod findfirst og findnext, som ikke er det samme! Jeg kan ikke finde funktionerne i min hjælp.
Prøv at bytte det ud med noget af det jeg skrev. Jeg er ret sikker på, at det vil fungere noget bedre.
hmmm jeg må ha en pokkers gammel versíon a TC, for jeg har ikke fundet dem, kun i VC++...... jeg har ikke tid til at finde en ny compiler.... så jeg må vel finde på noget andet... tak for hjælpen alligevel
Det er io.h, men de findes ikke i den header fil som jeg har i min TC... jeg ved det ikke, men jeg tror så små at jeg har løst problemet på en anden måde... men man ved jo aldrig!
// getch(); return 0; } Det er dog frit fra hukommelsen....
Den long findfirst() returnerer må du ikke ændre(skal bruges til findnext() og findclose()).
findnext() skal havde et search handle ( den long som findfirst() returnerer) som første parameter, ffblk'en som den anden.
Du skal huske at bruge findclose(searchhandle) til at lukke resourcerne til søgningen(er aktuelt hvis dit program skal holdes kørerne i længere tid af gangen).
Jinxed ; ]
Synes godt om
Ny brugerNybegynder
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.