Bueno, por lo visto tiene que ser alguna incompatibilidad con la ultima versión porque el mismo código funciona perfectamente en la que ya tenia.
Ahora tengo una duda, viendo códigos de otros usuarios he conseguido armarme esto:
Código PHP:
#include <vcl.h>
#include <boost\crc.hpp>
#include <iostream>
#include <fstream>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
uint32_t crc32(std::istream &is)
{
char buf[4096];
boost::crc_32_type result;
do {
is.read(buf, sizeof buf);
result.process_bytes(buf, is.gcount());
} while (is);
if (is.eof()) {
return result.checksum();
} else {
throw std::runtime_error("File read failed");
}
}
//---------------------------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
ifstream myfile;
myfile.open("mi_archivo.bin", ios::in | ios::app | ios::binary);
uint32_t crc=crc32(myfile);
myfile.close();
std::cout << crc << std::endl;
std::getchar();
return 0;
}
La cosa es que no será una aplicacion de consola donde quiero usarlo y a ser posible evitar añadir las librerias de C++ y usar las de C++Builder y no se como sustituir fstream e iostream para usar las propias de C++builder. ¿podeis ayudarme con eso?