sar*_*ath 2 c++ fstream visual-studio-2010
我正在用Visual C ++编写代码以读取(并在控制台中查看)bin文件中的浮点数,该二进制文件包含大约250万个浮点数。
int main(){
char* holder;
ifstream fin;
fin.open("male_16_down.bin",ios::binary|ios::in);
if(!fin){
cout<<" Error, Couldnt find the file"<<endl;
}
fin.seekg(0,ios::end);
long int file_size_bin=fin.tellg();
long int file_size=fin.tellg();
fin.seekg(0,ios::beg);
file_size=file_size/sizeof(float);
holder=new char[file_size_bin];
fin.read(holder,file_size*sizeof(float));
float data=(float)atof(holder);
cout<<data<<endl;
delete[] holder;
Run Code Online (Sandbox Code Playgroud)
我知道浮点数为4个字节,字符为1个字节,此代码仅输出一个为0的数字,我相信atof()
仅将第一个字节转换为该数字,但我希望看到整个数字,我怎么能看到全部二进制文件中的数字,我们将不胜感激。
#include <fstream>
#include <iostream>
int main() {
float f;
std::ifstream fin("male_16_down.bin", std::ios::binary);
while (fin.read(reinterpret_cast<char*>(&f), sizeof(float)))
std::cout << f << '\n';
return 0;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6110 次 |
最近记录: |