C: 无法让 fprintf 打印到输出文件
C: Cannot get fprintf to print to output-file
我正在尝试将矩阵打印到 csv 中。 arg[2] 这是文件名,我可以验证它是否正常工作,因为它会生成文件但不会填充它。我确实关闭了文件并尝试刷新它,但它不起作用。
// Open the output/second file and write the contents of truncated DCT matrix into it
outputfp = fopen(argv[2], "w");
if (outputfp == NULL) {
fprintf(stderr, "Can't open output file %s!\n", argv[2]);
exit(1);
}
double hold = 0;
printf("test\n");
for (i = 0, i < idx; i++;) {
for (j = 0, j < ARRAY_WIDTH; j++;) {
hold = test_write[i][j];
fprintf(outputfp, "%.61f", hold);
if (j != ARRAY_WIDTH) {
fprintf(outputfp, ",");
}
else {
//continue;
}
fflush(outputfp);
}
}
fclose (outputfp);
return 0;
}
这个周期
for (j = 0, j < ARRAY_WIDTH; j++;) {
从不迭代。
,
和 ;
的错误放置使 j++
成为迭代条件。由于在第一次迭代 j++
计算为 0
之前,从未进入循环。显然,你打算写
for (j = 0; j < ARRAY_WIDTH; j++) {
我正在尝试将矩阵打印到 csv 中。 arg[2] 这是文件名,我可以验证它是否正常工作,因为它会生成文件但不会填充它。我确实关闭了文件并尝试刷新它,但它不起作用。
// Open the output/second file and write the contents of truncated DCT matrix into it
outputfp = fopen(argv[2], "w");
if (outputfp == NULL) {
fprintf(stderr, "Can't open output file %s!\n", argv[2]);
exit(1);
}
double hold = 0;
printf("test\n");
for (i = 0, i < idx; i++;) {
for (j = 0, j < ARRAY_WIDTH; j++;) {
hold = test_write[i][j];
fprintf(outputfp, "%.61f", hold);
if (j != ARRAY_WIDTH) {
fprintf(outputfp, ",");
}
else {
//continue;
}
fflush(outputfp);
}
}
fclose (outputfp);
return 0;
}
这个周期
for (j = 0, j < ARRAY_WIDTH; j++;) {
从不迭代。
,
和 ;
的错误放置使 j++
成为迭代条件。由于在第一次迭代 j++
计算为 0
之前,从未进入循环。显然,你打算写
for (j = 0; j < ARRAY_WIDTH; j++) {