现在我有
ifstream argfs (argv[1], ifstream::binary | ifstream::in)
int length;
argfs.seekg(0, argfs.end);
length = argfs.tellg();
我正试图找出文件中有多少位,但是当它运行时它会给我多少字节。我怎样才能做到这一点?这不是“:: binary”用于什么?
由于
答案 0 :(得分:0)
一个字节中有8位,只是将结果乘以8,这将是总位数。
ifstream argfs (argv[1], ifstream::binary | ifstream::in)
int length;
argfs.seekg(0, argfs.end);
length = argfs.tellg();
length *= CHAR_BIT; // will be 8
答案 1 :(得分:0)
length=argfs.tellg();
返回文件指针的位置,该位置基本上是文件指针读取的字符数
请注意 1个字符= 1个字节
此外,一个字节由8位组成,因此只需将其乘以8
length = 8*argfs.tellg();