私はプログラムの生涯中に作成したファイルからフロートを読み込むのに苦労しています。私はファイルを巻き戻そうとしていましたが、ファイルを読み込む前にファイルを開いて閉じようとしていましたが、テーブルに直接値を入れようとしていました。 Idk私は何をもっとやることができますか?何が間違っていますか?cでファイルから浮動小数点数を読み取る方法は?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
srand(time(NULL));
float *tab;
float x = 0.0;
int i, size;
FILE *fp;
fp = fopen("data.txt", "w+");
if (fp == NULL) {
printf("Error");
system("PAUSE");
exit(1);
}
printf("Size of table: ");
scanf("%d", &size);
tab = (int*)malloc(size * sizeof(int));
for (i = 0; i < size; i++) {
tab[i] = (8.0 - 2.0) * (float)rand()/RAND_MAX + 2.0;
fprintf(fp, "%.2f ", tab[i]);
}
for (i = 0; i < size; i++) {
printf("%.2f ", tab[i]);
}
printf("\n");
fp = fclose;
fp = fopen("data.txt", "w+");
tab = realloc(tab, 2*size);
for (i = 0; i < size * 2; i+=2) {
fscanf(fp, "%f", &x);
printf("%.2f ", x);
//tab[i + 1] = tab[i]/2;
}
/*for (i = 0; i < size * 2; i++) {
printf("%.2f \n", tab[i]);
}*/
fp = fclose;
printf("\n");
system("PAUSE");
return 0;
}
は今、さあここで
が変更されたコードです。もしあなたが 'float * tab;'を持っているのであれば、なぜ 'tab =(int *)malloc(size * sizeof(int));'というのはどんな意味ですか?その種のコードはおそらく「働く」ことになるだろうが、明らかに多くの混乱を示している。 – unwindはい、あなたは間違いありません。しかし、それはファイルからの読み込みに影響しません。問題は同じです: – soommy12
@xing doesnt work – soommy12