#include #include #include extern "C" { void dump(char *s) { printf("%s\n", s); } } int main() { char *original = (char*)"h e l l o , w o r l d ! "; char *copy = (char*)malloc(strlen(original)); for (int i = 0; i < strlen(original); i += 2) { copy[i/2] = original[i]; } copy[strlen(copy)+1] = (int)&original; // force original to be on the stack dump(copy); return 0; }