Я пытаюсь прочитать строку чисел и сделать некоторые вычисления на них. Тем не менее, мне нужно, чтобы они были как-то разделены построчно, но я не могу понять, как это сделать. Вот мой код:
int main()
{
int infor[1024]; //2-d array perhaps??
int n, i;
i=0;
int imgWidth, imgHeight, safeRegionStart, safeRegionWidth;
FILE *fp;
fp = stdin;
while (!feof(fp))
{
fscanf(fp, "%d", &infor[i++]);
}
}
Вход выглядит примерно так:
4 3 1 2 -16777216 -16711936 -65536 -16777216 -1 -65536 -65536 -16711936 -16777216 -65536 -16711936 -16777216
3 4 1 1 -16777216 -16711936 -1 -1 -65536 -16777216 -16777216 -65536 -1 -1 -65536 -16711936
Может кто-нибудь объяснить, как перейти от строки к строке?
EDIT:
int main()
{
FILE * fp = stdin;
char buffer[1024];
long arr[2][16];
int i = 0,
j = 0;
char * pEnd;
while(fgets(buffer, sizeof(buffer), fp))
{
j = 0;
if(buffer[0] == '\n')
continue;
pEnd = buffer;
while(*pEnd != '\0')
{
arr[i][j++]=strtol(pEnd,&pEnd,10);
}
i++;
}
int imgWidth,
imgHeight,
safeRegionStart,
safeRegionWidth;
imgWidth = arr[1][0];
imgHeight = arr[1][1];
safeRegionStart = arr[1][2];
safeRegionWidth = arr[1][3];
printf("Value of i is %d\n", i);
printf("%d %d %d %d ",
imgWidth,
imgHeight,
safeRegionStart,
safeRegionWidth);
return 0;
}