El problema que no logro resolver es que cuando introdusca la letra ñ o Ñ me sale el 36 y el 37 respectivamente, y deberia ser el 164 y 165...
Ademas cuando los vuelvo a transformar en su caracter al 36 y 37 aparece $ y %.
Si alguien me podria hechar una mano lo agradeceria mucho.
#include <iostream>
#include <string.h>
using namespace std;
int main(int argc, char *argv[])
{      
   int tfrase=0; //tamaño frase     
    int vector[100];   
   string frase;          
     system ("CLS");
     cout<<"introdusca un texto "<<endl;
     getline(cin,frase);
     tfrase=frase.size();                                
    cout<<"usted introdujo un texto de "<<tfrase<<" caracteres"<<endl;          
  cout<<"Aqui pasamos la frase completa de string a ascii"<<endl;
    cout<<"y luego lo guardamos en un vector"<<endl;
    for(int tam =0; tam<tfrase;tam++){
            vector[tam]= toascii(frase[tam]);    
    }    
    cout<<"\nLuego imprimimos el vector"<<endl;
    for(int tam =0; tam<frase.size();tam++){
        vector[tam];
        cout<<vector[tam]<< " ";//las comillas son para poner espacio en blanco
        }                                
 /*  ///////////////////////////////   
   a= static_cast<char>(32);
   cout<<"El valor de 32 convertido a ascii es: "<<a<<endl;    
    ////////////////////////////////////   
   */            
    system("PAUSE");
    return EXIT_SUCCESS;
}