Konwertuj ciąg znaków na tablicę 2d

Zastanawiałem się, czy ktoś wie, jak przekonwertować ciąg na tablicę 2d? To była moja próba:

string w;
char s[9][9];
int p=0;
getline(cin, w);
while(p != w.size())
{
  for (int k = 0; k < 9; k++)
  {
    for(int j = 0; j < 9; j++)
    {
      s[k][j] = w[p];
      p++;
    }
  }
}
  cout << "nums are: " << endl;
  for(int k = 0; k < 9; k++)
  {
    for(int j = 0; j <9; j++)
    {
      cout << s[k][j];
    }
  }

Ale liczby nie są drukowane poprawnie. Chcę, aby s [k] [j] drukowało wszystko w w, ale po prostu wypisuje bełkot. Zauważyłem też, że jeśli wykonam ciąg [81], otrzymam całą masę błędów. Czy ktoś może mi pomóc? Dzięki.

questionAnswers(2)

yourAnswerToTheQuestion