stream manipulieren mit iomanip



  • hi,
    ich hab genommen:

    setlocale(LC_CTYPE, "de_DE");
    

    ich brauch

    <<(int)*i;
    

    denn '#' -> %23

    wie kann ich das schöner machen?

    if(*i == 'ä')
          o<<"%E4";
        else if(*i == 'ö')
          o<<"%D6";
        else if(*i == 'ü')
          o<<"%FC";
        else if(*i == 'Ä')
          o<<"%C4";
        else if(*i == 'Ö')
          o<<"%D6";
        else if(*i == 'Ü')
          o<<"%DC";
        else if(*i == '§')
          o<<"%A7";
    	else if(std::isalnum(*i))
    	  o<<*i; 
    	else
    	  o<<'%'<<std::hex<<std::setw(2)<<std::setfill('0')<<(int)*i;
          }
    

Anmelden zum Antworten