Q:

Limitar a un carácter la entrada del usuario

Saludos.
Esta es la porción del código que necesito arreglar:
#include<iostream>
#include<conio.h>
using namespace std;
int main(){

char dato[4][4];

cout<<"Digite los datos de la matriz en cada posici\242n"<<endl;
for(int i=0;i<4;i++){
    for(int j=0;j<4;j++){
      cout<<"Digite un numero para la posici\242n ["<<i<<"]["<<j<<"]: ";
      cin>>dato[i][j];
      //aquí iría la comprobación del dato[i][j]
    }

Vale. lo que quiero hacer es que cuando el usuario este digitado los caracteres, limitar el numero de caracteres a 1 (algo así como un posible error -de no mas de un carácter) algo así:
if(long>=2){
cout<<"Solo se permite un solo carácter";
}

*long=longitud de los caracteres digitados.
Ahora el problema es que como es una matriz ([4][4]), no he podido sacar la longitud del/de los caracteres digitados y analizarlos con el if para ver si superan el largo de 1, y ya ahí sacar algún tipo de repetición o que se salga, etc.
he intentado utilizando el strlen(),sizeof(), copiando la primera posición(dato[0][0]) en otra variable y así analizarla; ninguno a funcionado ya no se que hacer.
ayuda -soy nuevo en esto así que :)-

A:

Quiero hacer [...] que cuando el usuario este digitado los caracteres, limitar el numero de caracteres a 1 (algo así como un posible error -de no mas de un carácter).

Yo leería la entrada del usuario al completo, y si es más larga de 1 carácter mostraría el error:
std::string linea;

while (std::getline(std::cin, linea) && linea.size() != 1)
{
    std::cout << "No mas de un caracter\n";
}

No incluyas <conio.h>, que además de ser una librería de C, no la estás usando.

