why when i change the code from std::cin to read from file
c:/test2.xml I got error
=======================
typedef unsigned char BYTE;
std::ofstream file1("c:/test2.xml");
// read from std::cin
std::vector<BYTEbytes(
(std::istreambuf_iterator<char>(file1))
, (std::istreambuf_iterator<char>())
);
if(bytes.empty())
; // no bytes have been read
BYTE const* pbBinary = &bytes[0];
===========================
1>d:\snd\remote\remotedemo\app\virtualawear\main.c pp(31) : error
C2440: '<function-style-cast>' : cannot convert from 'std::ofstream'
to 'std::istreambuf_iterator<_Elem,_Traits>'
1 with
1 [
1 _Elem=char,
1 _Traits=std::char_traits<char>
1 ]
1 No constructor could take the source type, or constructor
overload resolution was ambiguous
============================
On Wed, 19 Nov 2008 01:22:44 -0800 (PST), Maxim Yegorushkin
<maxim.yegorushkin@gmail.comwrote:
Quote:
>On Nov 19, 9:13?am, Joy Maitland <iiu...@yahoo.comwrote:
Quote:
>how to use <iostreamto read a file to a const BYTE array?
>>
>const BYTE *pbBinary
>
>You don't normally read a file into a pointer. You read a file into an
>array and point that pointer to that array:
>
#include <iostream>
#include <vector>
#include <iterator>
>
int main()
{
typedef unsigned char BYTE;
// read from std::cin
std::vector<BYTEbytes(
(std::istreambuf_iterator<char>(std::cin))
, (std::istreambuf_iterator<char>())
);
if(bytes.empty())
; // no bytes have been read
>
BYTE const* pbBinary = &bytes[0];
}