我想从使用C++的文件中提取一些整数,但我不确定自己是否正确地做了。C++从VB6读取文件中的某些整数
我在VB6的代码如下:
Redim iInts(240) As Integer
Open "m:\dev\voice.raw" For Binary As #iFileNr
Get #iReadFile, 600, iInts() 'Read from position 600 and read 240 bytes
我转换到C++是:
vector<int>iInts
iInts.resize(240)
FILE* m_infile;
string filename="m://dev//voice.raw";
if (GetFileAttributes(filename.c_str())==INVALID_FILE_ATTRIBUTES)
{
printf("wav file not found");
DebugBreak();
}
else
{
m_infile = fopen(filename.c_str(),"rb");
}
但现在我不知道如何从那里继续,我也不知道“rb”是否正确。
我建议使用C++ I/O str Eams而不是低级API,操作符>>有几个重载,这使得提取基本数据类型的值非常容易 –
代码中有很多特定于Windows的API。添加标签。 –
对VB语句的评论似乎是一种触动。它读取的是240 *字节*还是240 *整数*(或者可能是240个8位整数?)要知道如何写出所写的内容,您首先必须知道它是如何写入的。 – WhozCraig