Тема: читання файлу, шлях до файлу
Є код для шифрування та дешифрування тексту. Поможіть розібратись, куди потрібно вставити шлях до файлу і як це зробити
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
using namespace std;
string encode(long lSize, long* lKey, string fPath)
{
long i, j;
string text, line, encstr;
ifstream ifs(fPath.c_str());
if (!ifs)
cout << "Error open file : " << fPath.c_str() << endl;
else
{
while (getline(ifs, line))
text += line;
ifs.close();
cout << "input string : " << text.c_str() << endl;
for (i = 0; i < text.length(); i += lSize)
{
line = "";
for (j = 0; j < lSize; j++)
line += text[i + j];
for (j = 0; j < lSize; j++)
encstr += line[lKey[j]];
}
}
return encstr;
}
string decode(long lSize, long* lKey, string fPath)
{
long i, j;
string text, line, decstr;
ifstream ifs(fPath.c_str());
if (!ifs)
cout << "Error open file : " << fPath.c_str() << endl;
else
{
while (getline(ifs, line))
text += line;
ifs.close();
cout << "input string : " << text.c_str() << endl;
decstr = text;
for (i = 0; i < text.length(); i += lSize)
{
for (j = 0; j < lSize; j++)
decstr[i + lKey[j]] = text[i + j];
}
}
return decstr;
}
int main()
{
char chr;
long lKey[5] = { 0 };
long i, lSize = sizeof(lKey) / sizeof(lKey[0]);
bool bMenu = true;
string text;
while (bMenu)
{
cout << "***MENU***\n";
cout << "E - encode\n";
cout << "D - decode\n";
cout << (chr = getch()) << endl;
switch (toupper(chr))
{
case 'E':
cout << "Enter key-block : \n";
for (i = 0; i < lSize; i++)
{
cout << "KEY[" << i + 1 << "] = ";
cin >> lKey[i];
}
text = encode(lSize, lKey, "encode.txt");
cout << "Encoded text : " << text.c_str() << endl;
break;
case 'D':
cout << "Enter key-block : \n";
for (i = 0; i < lSize; i++)
{
cout << "KEY[" << i + 1 << "] = ";
cin >> lKey[i];
}
text = decode(lSize, lKey, "decode.txt");
cout << "Decoded text : " << text.c_str() << endl;
break;
default:
cout << "Unsupported key is pressed\n";
break;
}
cout << "Press Y for see MENU once again\n";
cout << "Any other key - EXIT\n";
cout << (chr = getch()) << endl;
if (toupper(chr) != 'Y')
bMenu = false;
system("cls");
}
system("pause");
return 0;
}