我有一个程序,我试图将风数据添加到 .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'总是会写,但是当我使用追加时,它会在最后开始一个新的计数,然后添加数据。我只需要帮助弄清楚如何更新计数器!我对 C 编程语言非常陌生,并且仍在努力学习。我正在尽力使用逻辑和推理,所以它可以帮助我从别人那里获得灵感!先感谢您!