私はここで私のプログラムで立ち往生していて、テキストファイルからデータを読み取りますが、float部分をfloatとして取得しませんでした。43.23の代わりに、.txtファイルから読み取った後に43.00を出力します。どこで間違ったのですか?
dir[k].age=atol(strtok(NULL,","));
dir[k].weight=atol(strtok(NULL,","));
dir[k].height=atol(strtok(NULL,"\n"));
私はここで私のプログラムで立ち往生していて、テキストファイルからデータを読み取りますが、float部分をfloatとして取得しませんでした。43.23の代わりに、.txtファイルから読み取った後に43.00を出力します。どこで間違ったのですか?
dir[k].age=atol(strtok(NULL,","));
dir[k].weight=atol(strtok(NULL,","));
dir[k].height=atol(strtok(NULL,"\n"));
dir[k].weight=atol(strtok(NULL,","));
dir[k].height=atol(strtok(NULL,"\n"));
整数に変換する関数を使用しているため、小数部分の処理方法がわかりません。strtof
代わりに、関数とは対照的に、エラーチェックを可能にするものを使用してくださいato*
。
ここ:
dir[k].weight=atol(strtok(NULL,","));
dir[k].height=atol(strtok(NULL,"\n"));
あなたは長い間値を読んでいます