#define BLOCK 512
main() {
char file[80];
scanf("%c",file);
printf("%d", foo(open(file,0)))
}
foo(fd1) int fd1;
{
char buffer[BLOCK];
int a=0; while ((n = read(fd1, buffer, BLOCK)) > 0)
{
for (int i=0; i<BLOCK; ++i)
{
if (buffer[i] != 'a'){ ++a; }
}
} return a;
}
dlaczego tam gdzie jest użycie funkcji read poprawne jest:
(...) while ((n = read(fd1, buffer, BLOCK)) > 0)
{
int i;
for (i=0; i<n; ++i)
{
if (buffer[i] != 'x')
{ ++x;} (...)
Przecież ona zwraca ilość przeczytanych bajtów czyli mogę co 512 robić to while'u dlaczego w pętli for mamy
i<n