Buenas, mi duda es la siguiente como puedo separar una cadena de tipo char[] o string a un simple char??
 
Lo que quiero es pedir una cadena de char y después dividirlo en char para poder meterlo a un switch 
Tengo esta función que me divide la cadena cada vez que hay un espacio pero me lo deja como cadena de char aunque sea solo un elemento.    
Código C++:
Ver original- char operacion[50]; 
-     cout<<"Ingresa la frase separada por espacios "<<endl; 
-     cin.getline(operacion,50); 
-      
-     char *ptr; 
-     while(ptr != NULL) 
-     { 
-         f.encolar(ptr); 
-     } 
Entonces si el resultado lo meto en una cola y después lo voy sacando como fueron entrando para ejecutar un switch    
Código C++:
Ver original- switch(f.desencolar()) 
- { 
-   case 'a': 
- break; 
- case 'j': 
- break; 
- } 
me da este error 
switch quantity not an integer 
y entiendo que es porque esta recibiendo cadena de caracteres y no solo un char. 
Y no se si exista otra forma de hacer esto 
Por lo que entonces la otra forma que se me ocurre es:    
Código C++:
Ver original- char operacion[30]; 
-     cout<<"Ingresa la frase"<<endl; 
-     cin.getline(operacion,30); 
-   
-    for(int i=0; i<30; i++) 
- { 
-   
- char c=operacion[i]; 
-   
- switch(c) 
- { 
-     case 'h':cout<<"Imprime la h"<<endl; 
-     break; 
-     case 'o':cout<<"Imprime la o"<<endl; 
-     break; 
-     case 'l':cout<<"Imprime la l"<<endl; 
-     break; 
-     case 'a':cout<<"Imprime la a"<<endl; 
-     break; 
-     case '+':cout<<"Imprime la +"<<endl; 
-     break; 
-     case '-':cout<<"Imprime la -"<<endl; 
-     break; 
-     case '*':cout<<"Imprime la *"<<endl; 
-     break; 
-     case '/':cout<<"Imprime la /"<<endl; 
-     break; 
-     case '(':cout<<"Imprime la ("<<endl; 
-     break; 
-     case ')':cout<<"Imprime la )"<<endl; 
-     break; 
- } 
- } 
Y este si funciona pero el problema es que en la parte donde esta el for    
 no quiero ponerle tamaño definido sino que sea del tamaño exacto que tiene la cadena, porque si por ejemplo yo meto solo "hola" en vez de recorrer 4 espacios recorre los 30 y en ocasiones imprime datos que no existen, 
entonces aqui mi duda es  
como contar los elementos dentro de un arreglo char??  
Bueno de antemano muchas gracias y pues ojala me pudieran ayudar con cualquier de los dos problemas.