Я пытаюсь открыть txt-файл для чтения/записи в одной задаче. Моя предыдущая цель - обменять некоторые символы на сохраненные в массиве:
void Inputfile::decryptFile(string filename)
{
for(int i=0;i<15;i++)
{
fstream filedest(filename.c_str(), ios::in | ios::out);
if(!filedest)
cerr << "Konnte Zieldatei nicht oeffnen!\n";
else
cout << endl << filename << " geoeffnet zum entschluesseln!\n";
while(!filedest.eof())
{
filedest.get(ch);
if(ch == char(this->mostcharsencrypted[i]))
{
filedest.put(char(this->mostchars[i]));
}
}
filedest.close();
cout << "Fertig!";
}
}
mostcharsencrypted[] и mostchars[] — это целочисленные массивы, содержащие символы. Я уверен, что есть только 8-битное значение Ansii, и я проверяю это еще до того, как этот метод будет вызван.
Итак, если текущий читаемый символ - это тот, который находится в текущей позиции массива (i: 0 - 14), тогда я хочу обменять символ в txt-файле на символ из mostchars [].
В настоящее время я вижу, что получаю точно такие же совпадения, но мой текстовый файл по-прежнему показывает то же содержимое.
while (!stream.eof())
почти всегда неверно. Кто учит этому дерьму?! - person Lightness Races in Orbit   schedule 31.03.2011char
, вероятно, не нужны. - person Lightness Races in Orbit   schedule 31.03.2011