std::streampos size;
char * memblock;
std::ifstream input ("A.JPG", std::ios::in|std::ios::binary|std::ios::ate);
if (input.is_open())
{
size = input.tellg();
memblock = new char [size];
input.seekg (0, std::ios::beg);
input.read (memblock, size);
input.close();
std::cout << "[INPUT]the entire file content is in memory " << sizeof(memblock) << " \n";
}
delete[] memblock;
我想使用ifstream來讀取A.JPG(28KB)並將其保存到數組memblock中。但爲什麼memblock的大小是4而不是28403而變量大小等於28403?在C++中將二進制文件讀入字符數組中
謝謝。
變化'的sizeof(memblock)''到的sizeof(* memblock)' –
@RomanZaytsev'的sizeof(* memblock) '在這裏無濟於事。 –
@πάνταῥεῖ請你詳細說明一下嗎?我在想,這種情況等於http://stackoverflow.com/a/37539/5247040 –