29. maj 2001 - 11:44Der er
2 kommentarer og 1 løsning
Parsing af /etc/resolv.conf
Jeg sidder og forsøger at lave en eller anden pæn funktion, der kan parse /etc/resolv.conf og returnere nameserverne. Jeg havde forestillet mig en funktionserklæring i stil med:
char **nameservers(void);
Svaret ønskes så vidt muligt i ANSI C.
En kort beskrivelse af /etc/resolv.conf:
Hver linie består af et keyword og en indstilling. Linier, der begynder med # er kommentarer og bør ignoreres.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Fandt selv ud af det. Besluttede mig i øvrigt for, at lave funktionserklæringen en lille smule om. Her er min egen løsning. Kommentarer er meget velkomne:
int nameservers(char **theanswer) { FILE *resolvconf; char *s, *tmp, *tmp2; int number_of_nameservers = 0;
resolvconf = fopen(\"/etc/resolv.conf\",\"r\"); s = (char *) malloc(100); while (fgets(s,100,resolvconf) != NULL) { if ((tmp = strstr(s,\"nameserver\")) != NULL) if (((tmp2 = strchr(s,\'#\')) == NULL) || tmp2 > tmp) { s = strpbrk(s,\"0123456789.\"); *(s+strspn(s,\"1234567890.\")) = \'\\0\'; *(theanswer+number_of_nameservers) = s; number_of_nameservers++; s = (char *) malloc(100); } } free(s); fclose(resolvconf); return number_of_nameservers; }
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.