從這個代碼生成的程序:basic_ifstream <...> ::閱讀()不讀什麼
#include <fstream>
using std::basic_ifstream;
#include <ios>
using std::streamsize;
#include <ZenLib/Conf.h>
using ZenLib::int8u;
int main() {
#define charT int8u
#define T basic_ifstream<charT>
T ifs ("/proc/cpuinfo", T::in | T::binary);
#undef T
streamsize const bufsize (4096);
charT buf[bufsize];
#undef charT
return !ifs.read(buf, bufsize).gcount();
}
...返回1
所以std::basic_ifstream<ZenLib::int8u>::read()
無法從/proc/cpuinfo
提取任何字節。
我做錯了什麼?
燦你綜合了一個簡單的,獨立的例子,不需要追蹤多個宏? – 2014-11-02 16:05:40
這些流設計爲與字符類型一起用作模板參數,而不是整數。 – Galik 2014-11-02 16:07:13
流只支持字符類型'char'和'wchar_t'。由於缺乏專門的代碼轉換構面,因此不能保證適用於不同的字符類型。 – 0x499602D2 2014-11-02 16:07:14