Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou tentando fazer a edição de um código binário de um arquivo porém não está dando certo. Tentei a utilização do FSTREAM mas não "funciona".
Estou tentando criar um processo de exclusão de Guttman.
Veja o código abaixo que criei por enquanto, mas não funciona muito bem.
namespace Erase {
class Guttman {
public:
void ler( const char *filename ) {
std::ifstream file("reg.txt");
char text[80];
while ( file.getline(text, sizeof text) )
{
char value = text;
std::cout << "text[] = \"" << text << "\", value = " << value << "\n";
}
}
};
}
Para saber mais sobre o Método Gutmann: http://en.wikipedia.org/wiki/Gutmann_method
É óbvio que você não está conseguindo mexer com a parte binária do arquivo, Bruno! Você abriu o arquivo em modo texto, e não em modo binário. Você declarou o conteúdo do ifstream assim:
std::ifstream file("reg.txt");
para ler em modo binário, declare assim:
std::ifstream file("reg.txt", std::ios::in | std::ios::binary);
Se quiser facilitar, se você declarar o std::ios::trunc também, todo o conteúdo antigo do arquivo será perdido, permitindo que você já insira de uma vez dados novos:
std::ifstream file("reg.txt", std::ios::in | std::ios::trunc | std::ios::binary);
Abraços :D