program zapisujący litery w postaci szesnastkowej

damcios
Użytkownik
Użytkownik
Posty: 341
Rejestracja: 3 lis 2008, o 19:55
Płeć: Mężczyzna
Lokalizacja: poznań
Podziękował: 1 raz

program zapisujący litery w postaci szesnastkowej

Post autor: damcios »

Program ma wczytywać słowa z pliku i zapisywać litery w postaci szesnastkowej.
Najpierw zrobiłem tak, żeby zamieniał na kod ascii, ale nie wiem jak przekonwertować na hex.
Liczby mają być postaci 0xYZ.

Kod: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <fstream>
#include<iomanip>
using namespace std;

int main(int argc, char *argv[])
{ofstream plik ("hux.txt");
plik<<"abc ABCD abcdef"<<endl;
plik<<"fgh fghi fGhIj"<<endl;
plik<<"abcdEFGHIjkl";
plik.close();
ifstream plak ("hux.txt");
string s;

while (!plak.eof()){
      
      plak>>s;
 
 int tab [s.length()];
      for (int i=0;i<s.length();++i){
          tab[i]=s[i];
          cout<<tab[i]<<endl;
          }}

    system("PAUSE");
    return EXIT_SUCCESS;
}
-- 28 kwietnia 2011, 07:49 --zamieniłem na szesnastkowy operatorem hex, ale nie mam postaci 0x
Awatar użytkownika
steal
Użytkownik
Użytkownik
Posty: 1043
Rejestracja: 7 lut 2007, o 18:35
Płeć: Mężczyzna
Lokalizacja: Białystok|Warszawa
Podziękował: 6 razy
Pomógł: 160 razy

program zapisujący litery w postaci szesnastkowej

Post autor: steal »

Do przedrostków systemu liczbowego języka C++ w operacjach wyjścia (0,0x) służy stała formatowania
ios_base::showbase

Kod: Zaznacz cały

cout.setf(ios_base::showbase);
damcios
Użytkownik
Użytkownik
Posty: 341
Rejestracja: 3 lis 2008, o 19:55
Płeć: Mężczyzna
Lokalizacja: poznań
Podziękował: 1 raz

program zapisujący litery w postaci szesnastkowej

Post autor: damcios »

ok, dzięki, teraz mam problem z kolejnym programem.
mam pewne słowa wczytane z pliku, chce,aby program wyświetlał najpierw litery parzyste a później nieparzyste. Np.
mam "abcd", i program ma wyświetlić "bdac", ja zrobiłem że wyświetla "badc"
ogólnie mam problem z napisaniem programu , który wyświetli najpierw coś tam a póżniej coś tam, przy słowach rozdzielam to na dwie osobne funkcje, więc tu nie problemu, ale przy literach nie mam pojęcia-- 28 kwietnia 2011, 15:13 --

Kod: Zaznacz cały

include <cstdlib>
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
void test(){
     ofstream plik ("arg.txt");
plik<<"abc abcd abcdef"<<endl;
plik<<"fghi fghi fghij"<<endl;
plik<<"abcdef ghijkl";
plik.close();
ifstream plak("arg.txt");
string name,s,z;
int y=0;
while (!plak.eof()){
plak>>name;


if (name.length()%2==0){
             
             
                  for(int i=1;i<name.length();i+=2){
                          s=name[i];
                    cout<<s;
                    
                    }
                        
                  }
                        
                 
                        }
                       
                        plak.close();}
ODPOWIEDZ