求助,fprintf函数生成文件数量较大时出错

movind movind 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
代码如下,程序运行一次后会生成285个文件,这个过程不会出问题,如果再继续运行一次,则生成到第224个文件后出错,提示:
File:fprintf.c
Line:56
Expression: str!=NULL
。。。
以前也出现过类似情况,用fprintf函数生成的文件比较多时就会出错,实在不知道是因为什么,向高手请教一下,不胜感激!




void ProSail(int dayNum, long *date, float *lai, double *IR, double *NIR) {
char file[50];
char path[30];
int year;
double BRDF[WAVENUM];
FILE *outputFile;
TIME TIMEdata;

void Prospect(REF[]);
int CalculateSail(TIME, LAI, REF[], double[]);

TIMEdata.hour = 12;
TIMEdata.minute = 0;
TIMEdata.second = 0;
TIMEdata.latitude = 40.182;
TIMEdata.logitude = 116.444;
LAIdata.lad = 67;
LAIdata.epsilon = 0.988;

year = date[0] / 1000;
strcpy(path, ".\\OutputFile\\");

for(int i=0; i<dayNum; i++) {
LAIdata.date = date[i] % 1000;
LAIdata.lai = lai[i];
if(lai[i] != 0) {
Prospect(REFdata);
CalculateSail(TIMEdata, LAIdata, REFdata, BRDF);
//文件输出
wsprintf(file, "%s%05ldResult.txt", path, date[i]);
outputFile = fopen(file, "w+");
for(int j=0; j<WAVENUM; j++) {
fprintf(outputFile, "%4d, %lf\r\n", REFdata[j].wavelength, BRDF[j]);
if(j>=46 && j<=58) {
IR[i] += BRDF[j];
}
if(j>=72 && j<=100) {
NIR[i] += BRDF[j];
}
}
IR[i] /= 13;
NIR[i] /= 29;
fclose(outputFile);
}
}
}


...全文

相关推荐

fprintf类函数

printf是标准输出流的输出函数,用来向屏幕这样的标准输出设备输出,而fprintf则是向文件输出,将输出的内容输出到硬盘上的文件或是相当于文件的设备上

WEILEZHI

PHP fprintf()函数用法讲解

PHP fprintf() 函数 实例 把一些文本写入到名为 “test.txt” 的文本文件: &lt;?php $number = 9; $str = Beijing; $file = fopen&#40;test.txt,w&#41;; echo fprintf($file,There are %u million bicycles in %s.,$number,$str); ?&gt; 上面的代码将输出: 40 下面的文本将被写入到文件 “test.txt”: There are 9 million bicycles in Beijing. 定义和用法 fprintf()函数把格式化的字

weixin_38694336

Matlab fprintf函数详解[源码]

本文详细介绍了Matlab中fprintf函数的使用方法,包括其基本语法、功能说明以及多种应用示例。fprintf函数主要用于将数据写入文本文件或显示在屏幕上,支持多种格式化操作符,如%d、%f、%s等,用于控制输出格式。文章通过多个示例展示了如何输出字面文本和数组值、将双精度值输出为整数、将表格数据写入文本文件、获取写入文件的字节数以及在命令行窗口中显示超链接。此外,还详细解释了格式化操作符的各个组成部分,如标识符、标志、字段宽度、精度和子类型操作符,并提供了特殊字符的表示方法。最后,文章提醒读者注意数值转换的行为和提示,确保正确使用fprintf函数。

甜甜圈HTTP

sscanf,sprintf,fscanf,fprintf 系列函数的用法小结 doc

sscanf,sprintf,fscanf,fprintf 系列函数的用法小结

qiuyunping

matlab导出数据(fprintf_dlmwrite_xlswrite)

matlab导出数据(fprintf_dlmwrite_xlswrite)

反黑小可爱
评论 18
收藏 已收藏
分享
返回顶部
movind
C语言 70,039 成员 243,237 内容