Newbie code Inc. lurer på følgende:
"Hvorfor virker ikke dette programmet? Det er meningen at det skal lese telefonnumre (I formatet "11 22 33 44") fra ei fil og printe dem til skjermen.. Ja det er en meget meget rotete kode, og noe er fundamentalt galt. (Noe er tom. feil med vilje). (Har jobbet med den i linux)"
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
main(int argc, char **argv)
{
FILE *ptr;
int a;
int b[11];
int flag;
int lines;
ptr = fopen(argv[0], "r");
for (a = 0; a < 11; ++a) b[a] = fgetc(ptr);
while (!EOF)
{
if (isdigit(b[1]) && isdigit(b[2]) && b[3] == ' ' && isdigit(b[4]) && isdigit(b[5]) && b[6] == ' ' && isdigit(b[7]) && isdigit(b[8]) && b[9] == ' ' && isdigit(b[10]) && isdigit(b[11])) printf("1");
for (a = 0; a < 10; a++) b[a] = b[a+1];
if ((b[11] = fgetc(ptr)) == EOF) flag = 1;
/* printf("%s\n", b); */
lines++;
}
printf("%d\n", lines);
fclose(ptr);
return(0);
}
Hjelp mottas med stor takk
"Hvorfor virker ikke dette programmet? Det er meningen at det skal lese telefonnumre (I formatet "11 22 33 44") fra ei fil og printe dem til skjermen.. Ja det er en meget meget rotete kode, og noe er fundamentalt galt. (Noe er tom. feil med vilje). (Har jobbet med den i linux)"
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
main(int argc, char **argv)
{
FILE *ptr;
int a;
int b[11];
int flag;
int lines;
ptr = fopen(argv[0], "r");
for (a = 0; a < 11; ++a) b[a] = fgetc(ptr);
while (!EOF)
{
if (isdigit(b[1]) && isdigit(b[2]) && b[3] == ' ' && isdigit(b[4]) && isdigit(b[5]) && b[6] == ' ' && isdigit(b[7]) && isdigit(b[8]) && b[9] == ' ' && isdigit(b[10]) && isdigit(b[11])) printf("1");
for (a = 0; a < 10; a++) b[a] = b[a+1];
if ((b[11] = fgetc(ptr)) == EOF) flag = 1;
/* printf("%s\n", b); */
lines++;
}
printf("%d\n", lines);
fclose(ptr);
return(0);
}
Hjelp mottas med stor takk