size_t dlugosc;
cin >> dlugosc;
char * buf = new char[dlugosc];
for(size_t i=0 ; i<dlugosc ; i++)
buf[i] = 0;
cout << buf;
Wystarczy, że wyzerujesz wszystkie wartości w tej tablicy jw.
Edit:
Można również zastosować funkcję calloc() z C, która to automatycznie zeruje wartości:
#include <iostream>
#include <malloc.h>
using namespace std;
int main()
{
size_t dlugosc;
cin >> dlugosc;
char* buf = (char*)calloc(dlugosc, sizeof(char));
cout << buf;
free(buf);
return 0;
}