1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | #include<iostream> using namespace std; // macros are bad... #define PR(EX) cout << (#EX) << ": " << (EX) << endl void f1( void* v, size_t num_bytes, int val){ unsigned char* p_addr = static_cast<unsigned char*>(v); unsigned char byte = static_cast<unsigned char>(val); for( size_t i = 0; i < num_bytes; i++){ *p_addr = byte++; p_addr++; } PR(num_bytes); } int main(){ int a[5] = { 0, 0, 0, 0, 0 }; int value = 67; void* vp = static_cast<void*>(&a); unsigned char* byte = static_cast<unsigned char*>(vp); for( size_t i = 0; i < (sizeof(a) / sizeof(a[0])); i++){ cout << "a[" << i << "] = "; for( size_t j = 0; j < sizeof(int); j++){ cout << static_cast<int>(*byte) << " "; // print int value byte++; } cout << endl; } // PR(*byte); f1(vp, sizeof(a), value); byte = static_cast<unsigned char*>(vp); // reset pointer for( size_t i = 0; i < (sizeof(a) / sizeof(a[0])); i++){ cout << "a[" << i << "] = "; for( size_t j = 0; j < sizeof(int); j++){ cout << *byte << " "; // print ASCII character byte++; } cout << endl; } } |
I2luY2x1ZGU8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gbWFjcm9zIGFyZSBiYWQuLi4KI2RlZmluZSBQUihFWCkgY291dCA8PCAoI0VYKSA8PCAiOiAiIDw8IChFWCkgPDwgZW5kbAoKdm9pZCBmMSggdm9pZCogdiwgc2l6ZV90IG51bV9ieXRlcywgaW50IHZhbCl7CgoJdW5zaWduZWQgY2hhciogcF9hZGRyID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcio+KHYpOwoJdW5zaWduZWQgY2hhciBieXRlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4odmFsKTsKCglmb3IoIHNpemVfdCBpID0gMDsgaSA8IG51bV9ieXRlczsgaSsrKXsKCQkqcF9hZGRyID0gYnl0ZSsrOwoJCXBfYWRkcisrOwoJfQoJUFIobnVtX2J5dGVzKTsKfQoKaW50IG1haW4oKXsKCglpbnQgYVs1XSA9IHsgMCwgMCwgMCwgMCwgMCB9OwoJaW50IHZhbHVlID0gNjc7Cgl2b2lkKiB2cCA9IHN0YXRpY19jYXN0PHZvaWQqPigmYSk7Cgl1bnNpZ25lZCBjaGFyKiBieXRlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcio+KHZwKTsKCglmb3IoIHNpemVfdCBpID0gMDsgaSA8IChzaXplb2YoYSkgLyBzaXplb2YoYVswXSkpOyBpKyspewoJCWNvdXQgPDwgImFbIiA8PCBpIDw8ICJdID0gIjsKCQlmb3IoIHNpemVfdCBqID0gMDsgaiA8IHNpemVvZihpbnQpOyBqKyspewoJCQljb3V0IDw8IHN0YXRpY19jYXN0PGludD4oKmJ5dGUpIDw8ICIgIjsgLy8gcHJpbnQgaW50IHZhbHVlCgkJCWJ5dGUrKzsKCQl9CgkJY291dCA8PCBlbmRsOwoJfQovLwlQUigqYnl0ZSk7CgoJZjEodnAsIHNpemVvZihhKSwgdmFsdWUpOyAgICAKCglieXRlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcio+KHZwKTsgLy8gcmVzZXQgcG9pbnRlcgoKCWZvciggc2l6ZV90IGkgPSAwOyBpIDwgKHNpemVvZihhKSAvIHNpemVvZihhWzBdKSk7IGkrKyl7CgkJY291dCA8PCAiYVsiIDw8IGkgPDwgIl0gPSAiOwoJCWZvciggc2l6ZV90IGogPSAwOyBqIDwgc2l6ZW9mKGludCk7IGorKyl7CgkJCWNvdXQgPDwgKmJ5dGUgPDwgIiAiOyAvLyBwcmludCBBU0NJSSBjaGFyYWN0ZXIKCQkJYnl0ZSsrOwoJCX0KCQljb3V0IDw8IGVuZGw7Cgl9Cn0=
-
upload with new input
-
result: Success time: 0s memory: 2724 kB returned value: 0
a[0] = 0 0 0 0 a[1] = 0 0 0 0 a[2] = 0 0 0 0 a[3] = 0 0 0 0 a[4] = 0 0 0 0 num_bytes: 20 a[0] = C D E F a[1] = G H I J a[2] = K L M N a[3] = O P Q R a[4] = S T U V


