У меня есть программа, в которой я пытаюсь добавить данные ветра в файл .txt, но я сталкиваюсь с проблемой, когда я добавляю данные, я закрываю программу, пытаюсь добавить данные снова, и это устраняет остальную часть данные. Ниже приведен пример файла .txt:
3
3.60000 N
4.30000 E
5.40000 S
Первая строка - это количество записей данных, а далее - каждая скорость ветра, а затем направление ветра.
Мой код работает хорошо, если я просто добавлю данные один раз и закончу с ними, но не если я хочу добавить больше работы к тому, что я делал раньше. Я знаю, что могу использовать append для добавления данных в конец, но он не будет обновлять счетчик вверху. Я хочу иметь возможность добавлять данные, а также обновлять счетчик вверху. Мне нужен счетчик для других функций в коде. Вот мой код проблемы:
void addWindData(FILE* outFile, int numNumbers, double windSpd[], char windDir[]){
int numItems;
printf("How many data items would you like to add? ");
scanf("%d", &numItems);
fprintf(outFile, "%d \n", numItems);
for(int i = 0; i < numItems; i++){
printf("Wind speed? ");
scanf("%lf", &windSpeed[i]);
printf("Wind direction? ");
scanf(" %c", &windDir[i]);
fprintf(outFile, "%lf %c \n", windSpd[i], windDir[i]);
}
}
Я вызываю функцию следующим образом:
fp = fopen(FILE_NAME, "w");
if(fp == NULL){
printf("File could not be found! \n");
}
else{
addWindData(fp, numNumbers, windSpd, windDir);
fclose(fp);
}
Любая помощь, которую я могу получить, будет принята с благодарностью. Я понимаю, что 'w' всегда будет писать, но когда я использую append, он начинает новый счет в конце, а затем добавляет данные. Мне просто нужна помощь, чтобы разобраться, как обновить счетчик! Я новичок в языке программирования C и все еще стараюсь учиться. Я изо всех сил стараюсь использовать лог c и рассуждения, поэтому это помогает мне черпать вдохновение у других! Заранее спасибо!