void deszyfrujzpliku()
{
char d;
string maxalm;
int dlugosc;
char litery[36] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' };
string znaczki[36] = { "._", "_...", "_._.", "_..", ".", ".._.", " __.", "....", "..", ".___", "_._", "._..", " __", "_.", "___", ". __.", "__._", "._.", "...", "_", ".._", "..._", ". __", "_.._", "_.__", " __..", ".____", ".. ___", "...__", "...._", ".....", "_....", " __...", "___..", " ____.", "_____" };
string nazwa_in;
string nazwa_out;
cout << "Podaj nazwe pliku wejsciowego" << endl;
cin >> nazwa_in;
nazwa_in = nazwa_in + ".txt";
cout << "Podaj nazwe pliku wyjsciowego" << endl;
cin >> nazwa_out;
nazwa_out = nazwa_out + ".txt";
ifstream ifs;
ofstream ofs;
ifs.open(nazwa_in);
if (!ifs) {
cout << "Nieudane otwarcie pliku " << nazwa_in << endl;
return;
}
ofs.open(nazwa_out);
if (!ofs) {
cout << "Nieudane otwarcie pliku " << nazwa_out << endl;
return;
}
dlugosc = 0;
while (ifs.get(d))
{
if (d != '/'){
maxalm = maxalm + d;
dlugosc++;
}
if (d == '/'){
for (int i = 0; i < 36; )
if (maxalm == znaczki[i]){
ofs << litery[i];
maxalm.erase(0, dlugosc);
}
}
}
ifs.close();
ofs.close();
ifs.clear();
ofs.clear();
}
Witam,
na wstępie mam do wykonania program który szyfruje i deszyfruje alfabet morsa z pliku tekstowego w c++. O ile z szyfrowaniem problemu nie ma, tak z deszyfrowaniem jest. W tej funkcji program się wiesza i nie za bardzo wiem dlaczego, może ktoś mi z tym pomóc?