Er nybegynder så bær lige over med med mig.
Har lavet en funktion som skal vise indholdet af unsigned char array, men den viser kun de første 4 byte hvorfor resten er 00 ?
Sådan skal det se ud
0000 = 31 32 33 34 35 36 37 38 00 00 00 00 00 00 00 00
0010 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03F0 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Men min funktion viser ?
0000 = 31 32 33 34 00 00 00 00 00 00 00 00 00 00 00 00
0010 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03F0 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- #include <iostream>
- #include <sstream>
- #include <iomanip>
-
- using namespace std;
-
-
- void vis_ram(unsigned char ram1);
-
-
- void vis_ram(unsigned char ram1)
- {
- int k = 0;
-
- int adr = 0;
-
- for ( int j = 0; j < 64; j++)
- {
- std::stringstream vis;
- vis.fill('0');
-
- std::stringstream vis_adr;
- vis_adr.fill('0');
-
- for ( size_t i = 0 ; i < 16 ; i++, k++)
-
- vis << std::setw(2) << std::hex << uppercase << (unsigned short) ram1[k] << " ";
-
- vis_adr << setw (4) << hex << uppercase << adr << " = ";
-
- std::cout << vis_adr.str();
- std::cout << vis.str() << std::endl;
-
- adr = adr + 16;
- }
-
- std::cout << std::endl;
- }
-
- int main()
- {
- unsigned char ram[0x03FF];
-
- ram = { 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38};
-
- vis_ram(ram);
-
- return = 0;
-
- }
Lige nu bruger jeg globale variabeler og så virker det fint, men det har jeg læst mig
-
ikke er særlig godt.
Nicolas