Şimdilik şu ana kadar yaptığım şey:Bir char'in hex değerlerini ASCII'de bir metin dosyasına nasıl yazarsınız?
void WriteHexToFile(std::ofstream &stream, void *ptr, int buflen, char *prefix)
{
unsigned char *buf = (unsigned char*)ptr;
for(int i = 0; i < buflen; ++i) {
if(i % 16 == 0) {
stream << prefix;
}
stream << buf[i] << ' ';
}
}
Stream.hex, stream.setf (std :: ios :: hex) yapmayı denedim, ayrıca Google'ı biraz aramaya çalıştım. Ben de denedim:
stream << stream.hex << (int)buf[i] << ' ';
Ama bu da işe yaramıyor.
Şu anda ürettiği bazı çıktıların bir örneği:
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Çıktının aşağıdaki gibi görünmesini istiyorum:
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
: You should Bu arabellekleri değiştirmeyeceğinizi açıkça belirtmek için const void * ptr ve const char * önekini kullanın. – mmmmmmmm
@rstevens: Tamam! – xian
bu yüzden yığın taşmasını çok seviyorum. Bu eğlenceli küçük problemler zaman zaman ortaya çıkıyor ve birisi kodun bir parçacığında düşüyor ve çözüldü ... – MikeJ