У меня есть текстовый файл, который имеет следующие строки:
(0,0) -180.000 77.500 -999.000 -999.000 -999.000 2740.831 45.000 -0.001 -0.001 0.000 458.138 45.000 -999.000
(1,0) -179.500 77.500 -999.000 -999.000 -999.000 2740.831 45.000 -0.001 -0.001 0.000 458.138 45.000 -999.000
(2,0) -179.000 77.500 -999.000 -999.000 -999.000 2740.831 45.000 -0.001 -0.001 0.000 458.138 45.000 -999.000
(3,0) -178.500 77.500 -999.000 -999.000 -999.000 2740.831 45.000 -0.001 -0.001 0.000 458.138 45.000 -999.000
...
...
(359,0) -0.500 77.500 -999.000 -999.000 -999.000 2740.831 45.000 -0.001 -0.001 0.000 458.138 45.000 -999.000
Я пытаюсь поместить каждую строку этого текстового файла (buf) в отдельный элемент массива (buffarray), используя следующиеПрограмма:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#define PI 4*atan2(1,1)
int main(int argc, char *argv[]) {
FILE *fp;
char buf[200];
char *token;
char buffarray[223920];
char filename[150];
int i, j, k;
sscanf(argv[1], "%s", filename);
if ((fp = fopen(filename, "rt")) == NULL) {
printf("Failed in fopen: %s\n", filename);
return -1;
}
while (!feof(fp)) {
fgets(buf, 200, fp);
token = buf;
printf("buf is %s\n", buf);
buffarray++ = token;
}
}
Как каждый раз при компиляции этой программы я получаю сообщение об ошибке:
translate_ww3file.c: In function ‘int main(int, char**)’:
translate_ww3file.c:30:12: error: lvalue required as increment operand
buffarray++ = token;
^
Как мне решить эту проблему?В идеале я хочу создать еще один текстовый файл, в котором строки переставляются так, чтобы строки 180–359 исходного текста печатались сначала в новом текстовом файле, а затем строки 1–179 печатались впоследствии в новом текстовом файле.