/ Forside/ Teknologi / Udvikling / C/C++ / Spørgsmål
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
læse alle filer fra DIREKTORY
Fra : glenn007
Vist : 544 gange
100 point
Dato : 21-07-03 23:52

er der nogle der ligge inde med et eksempel på hvorledes man kan scanne INDHOLDET af alle tekst filer som foreligger i en forudbestemt mappe,
jeg leder efter noget som søger alle filer for et bestemt ord, eksempelvis et bynavn i første linie af hver tekst fil




 
 
Kommentar
Fra : BertelBrander


Dato : 22-07-03 21:00

Her er et lille program der udskriver den første linie, i alle de filer der passer det mønster der bliver tastet, i det direktorie hvorfra det bliver kørt, det er testet med MS VisualC++ og BorlandC:
#include <stdio.h>
#include <io.h>
#include <string.h>

int main(void)
{
char temp[512], *s, line[1024];

struct _finddata_t fileinfo;
long handle;

printf("Enter extension (eg *.txt): ");
fflush(stdout);
fgets(temp, sizeof(temp), stdin);
if((s = strchr(temp, '\n')) != NULL)
*s = '\0';

handle = _findfirst(temp, &fileinfo);
if(handle != -1)
{
do
{
FILE *f = fopen(fileinfo.name, "rt");
if(f)
{
fgets(line, sizeof(line), f);
if((s = strchr(line, '\n')) != NULL)
*s = '\0';
printf(">%s:%s\n", fileinfo.name, line);
fclose(f);
}
else
printf("Unable to open: %s\n", fileinfo.name);
}
while(_findnext(handle, &fileinfo) == 0);
_findclose(handle);
}
return 0;
}


Kommentar
Fra : glenn007


Dato : 22-07-03 23:30

den afslutter programmet så hurtigt at jeg ikke kan nå at se hvad der sker, hvorledes kan jeg få den til at holde winduet oppe et stykke tid,

jeg troede jeg kunne klare den med Sleep(xxxxxxx) men det vil den selvfølgelig ikke

Accepteret svar
Fra : BertelBrander

Modtaget 100 point
Dato : 23-07-03 00:29

Du kan putte disse linier ind inden "return 0;"
printf("Hit enter to quit\n");
fgets(temp, sizeof(temp), stdin);

Eller starte en DOS-prompt og køre programmet derfra.
Eller #include <windows.h> og bruge Sleep(xxxx); hvor xxxx er antal millisekunder.

Godkendelse af svar
Fra : glenn007


Dato : 23-07-03 02:04

Tak for svaret BertelBrander.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste