[英]What is the template argument when reading a binary file to “unsigned char” vector
此代碼有什么問題?
std::vector<unsigned char> newVector;
std::ifstream inFile(fullPath.c_str(), std::ios::in|std::ios::binary);
std::istreambuf_iterator iterator(inFile);
它給了我這個:
missing template arguments before 'iterator'
如果我將其更改為:
std::istreambuf_iterator<unsigned char> iterator(inFile);
它抱怨:
invalid conversion from 'void*' to
'std::istreambuf_iterator<unsigned char>::streambuf_type
ifstream
是basic_ifstream<char>
,不是basic_ifstream<unsigned char>
。 因此,您需要將iterator
聲明為
std::istreambuf_iterator<char> iterator(inFile);
它會工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.