RE:covertir del char a string
Buenas.
Cuando en C/C++ se guardan cadenas en caracteres, van uno detrás de otro (en un array), y el final de la cadena es marca con el caracter '\0' (es un cero, no una o).
Es decir, guardar la cadena "hola" requiere 5 char, los cuatro primeros para las letras, y el último para el "caracter fin de cadena" ('\0').
Cuando ponemos:
char *cad = "hola";
En realidad el compilador hace que la variable cad apunte a un array de 5 caracteres.
Pues bien, tú puedes hacer lo mismo "a mano", pero no puedes olvidarte del '\0', porque si no fallará más adelante (en las operaciones de escritura, comparación, copia, etc.):
char cad[5]; // Hay que reservar _5 caracteres_
cad[0] = 'h'; cad[1] = 'o'; cad[2] = 'l'; cad[3] = 'a';
cad[4] = '\0';
Lo que tú has puesto debería ser:
char String[2]; // Reservando hueco para el fin de cadena
String[0] = 'A';
String[1] = '\0';
Un saludo.