yes,exactly,buffer is an array of ints
this should demonstrate the problem:
Code:
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
int N = atoi(argv[1]);
int *buffer = malloc(N*sizeof(int));
for (int i = 0;i < N; i++)
{
buffer[i] = getchar();
if (buffer[i] == EOF )
{
fprintf(stderr,"input error\n");
free(buffer);
return 1;
}
}
free(buffer);
return 0;
}
so like I said, if array meets EOF at (N-1) position,it doesn't print anything,but it should..
- I'm using linux mint, programming in gedit,compiling with gcc