[英]How to write a floating point array to a file in C?
我有一個floag
數組,它有 189 個元素(從索引 0 運行到索引 188)。 我無法將此數組寫入文件。 假設第一個元素是 45.6,第二個元素是 67.9,我希望我的 output 文件如下所示:
0, 45.6
1, 67.9
等等。 我已經嘗試過如下所示的 function,結果是我的 output 文件中有奇數字符。 謝謝,我是 C 的新手
void writeCorrelationToFile(float slidingCorrelator[])
{
FILE *fp;
fp=fopen("CorrelationResult.txt","w");
printf("inside writeCorrelationToFile, writing out array using fwrite \n");
fwrite(slidingCorrelator,4,sizeof(slidingCorrelator),fp);
fclose(fp);
}
我得到一個 output 文件,如下所示:
�'���۽l^��(���!>
我也嘗試將sizeof(slidingCorrelator)
設置為 189,但這也沒有幫助。
fwrite()
function 寫入二進制數據。 您要編寫的是float
值的人類可讀(即文本)表示,而不是二進制表示。
您可以使用fprintf()
執行此操作:
float slidingCorrelator[N];
FILE *fp;
// ... fill the array somehow ...
fp = fopen("CorrelationResult.txt", "w");
// check for error here
for (unsigned i = 0; i < N; i++) {
fprintf(fp, "%d, %f\n", i, slidingCorrelator[i]);
// check for error here too
}
fclose(fp);
不要忘記檢查這些函數的返回值以檢測錯誤。 有關更多信息,請參閱:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.