我是C初學者,但在編程時不會太糟糕。我正在用C語言編寫一個程序,它根據幾個取決於時間的方程來計算一個對象的路徑(x,y和z座標)。然後我想打印這些座標到一個輸出文件,所以我可以繪製它們。現在,我有:將數字打印到C文件中?
double *t;
double *x;
double *y;
double *z;
我做我的計算,並填寫x,y和z。然後,我嘗試將它們打印到文件:
FILE *outputFile = fopen("path.out", "w");
for (i = 0; i<(sizeof(x)/sizeof(double)); ++i)
char *strX = (char *) *(x+i);
char *strY = (char *) *(y+i);
char *strZ = (char *) *(z+i);
fprintf(*outputFile, *strX);
fprintf(*outputFile, "\t");
fprintf(*outputFile, *strY);
fprintf(*outputFile, "\t");
fprintf(*outputFile, *strZ);
我越來越想每個雙轉換爲一個char *錯誤的整個混亂,但我不知道爲什麼。是否有更好的方法來打印雙打或將它們轉換爲char *進行打印?
您在「fprintf(* outputFile,」\ t「)fprintf(* outputFile,* strY)」之間缺少一個分號,您應該編輯以排列打印語句,使其更易於閱讀。 – Jim
感謝您的迴應,但仍不能解決問題 – laplacian13
您需要將該循環的主體放在大括號中。縮進並不意味着什麼,這裏只有第一行(帶有'strX'的行)實際上在循環內。 –