你好即时通讯尝试完成我的项目和即时通讯困惑从二进制文件读取字节。我的目标是每次读取2个字节直到EOF。我想先检查,第一个字节的第一位0或1,我想打印出像休息一样整数7位。还我想打印出第二个字节为integer.So我有这个从二进制文件读取2个字节,每次
short test[2];
while((fread(&test,sizeof(short),1,ifp)!=0) //ifp is input file pointer
{
fread(&test,sizeof(short),1,ifp);
printf("test first byte :%d\n",test[0]);
printf("test seocnd byte : %d\n",test[1];
}
我不知道即时阅读真的还是假的,也我不能想出如何会得到即时的第一个字节的第一位和休息7有点像整数也如何即时打印出第二个字节,如整数。
日Thnx ..
你读了一篇短文(两遍)。你为什么要打印两个?另外:您应该将printf的可变参数转换为int,因为%d需要一个int参数。 (可能会通过参数填充/堆栈对齐完成,但它仍然是一个马虎的习惯) – wildplasser 2013-03-01 00:17:10
您应该阅读有关按位运算符。 – 2013-03-01 00:17:48
是的,你们对我的双重检查。我对二进制文件有麻烦。我必须更多地研究二进制文件。 thnx – ccc 2013-03-01 00:46:42