【发布时间】:2018-11-20 13:40:08
【问题描述】:
正在尝试转换此 matlab 代码:
fid = fopen([fpath, '/file.bin'],'rb');
content = fread(fid, 11,'single');
我目前的尝试如下:
FILE* f = fopen(filename.c_str(),"rb");
char *content = (char*) malloc (sizeof(float)*11);
size_t result;
result = fread(content,4,11,f);
这对我来说很有意义,但它不起作用。
更新:
文件的第一行应该是这样的:
120.0 120.0 120.0 -1.0 -1.0 -1.0 0.05000000074505806 0.25 2.0 2.0 2.0
我还检查了f 指针是NULL,但它不是。当我打开文件并加载内容,然后打印它时,它什么也不显示。
【问题讨论】:
-
“不起作用”是什么意思?你想要 C 还是 C++?你的代码看起来像带有一点 C++ 的 C
-
标题说 C++,代码说 C(好吧,它可能编译为 C++,但实际上主要是 C),标签说两者。
-
@Biffen
filename.c_str()我不会打赌,但那可能是std::string -
你检查过FILE指针
f不是NULL吗?