私はこのようにフォーマット.csv
ファイルがあります:CSVファイルからフロート配列に値を移動する方法は?
24.74,2.1944,26.025,7.534,9.317,0.55169 [etc]
を私は浮動小数点数の配列に浮動小数点値を移動したいです。
配列は次のようになります。
fValues[0] = 24.74
fValues[1] = 2.1944
fValues[2] = 26.025
fValues[3] = 7.534
fValues[4] = 9.317
[etc]
私が処理するために、1000個の数字を持っています。
このタスクを達成するためのコードは何ですか?
これは私が私のコードを得ている最も近いです。また
int main()
{
FILE *myFile;
float fValues[10000];
int n,i = 0;
myFile = fopen("es2.csv", "r");
if (myFile == NULL) {
printf("failed to open file\n");
return 1;
}
while (fscanf(myFile, "%f", &fValues[n++]) != EOF);
printf("fValues[%d]=%f\n", i, fValues[5]); //index 5 to test a number is there.
fclose(myFile);
return 0;
}
、私はこのコードを実行すると、私は終了コード3221224725
を受けます。
メモリアクセス関連の問題/スタックオーバーフローですか?
私の環境:
- 崇高なテキスト3、
- GCCコンパイラ、
- 新しい窓のラップトップ
あなたのファイルには昏睡状態があります。あなたのプログラムの誰もそれを説明していません。彼らはそこにいないふりをすることはできません。 –
'n ++' - うーん。ループが始まる前に何があったのですか?あなたの答えが「私は知っていません」なら、あなたはあなたのプログラムに同意しています。あなたは初期値を設定しません。あなたのプログラムは*未定義の動作*を呼び出します。 – WhozCraig