4
創建一個文件,並用零填滿它:爲什麼failbit()已設置?
dd if=/dev/zero of=/tmp/zeroes count=1
寫這個小程序提取第一無符號整數,它在文件中遇到。
#include <assert.h>
#include <fstream>
int main()
{
std::ifstream reader("/tmp/zeroes", std::ios_base::binary);
uint32_t number;
reader >> number;
assert(!reader.fail());
}
爲什麼觸發斷言?
即使將流模式設置爲二進制,「>>」爲整數類型也是格式化的輸入函數(使用'num_get',它需要文本表示形式)。 – dyp
@BЈовић如此正確! :| –
@BЈовић更改 – qdii