Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ogcjm124
2 / 2 / 0
Регистрация: 31.07.2011
Сообщений: 143
#1

Почему последний символ в файле удваивается. - C++

27.11.2011, 22:10. Просмотров 378. Ответов 0
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <fstream>
using namespace std;
 
 
class CipTxt{
public:
    char *AlphaOne;
    char *AlphaTwo;
 
    CipTxt(int shift);
    
    void Encrypt(char *name,char *name2);
 
    int cmp(char ch);
};
 
CipTxt::CipTxt(int shift){
    int n=0;
    AlphaOne="abcdefghijklmnopqrstuvwxyz";
    AlphaTwo=new char[27];
    
    while(AlphaOne[n]){
        AlphaTwo[n]=AlphaOne[(n+shift)%26];
        n++;
    }
    AlphaTwo[26]=0;
}
 
int CipTxt::cmp(char ch){
    int n=0;
    while(AlphaOne[n]){
        if (ch==AlphaOne[n])
            return n;
        n++;
    }
    return -1;
}
 
void CipTxt::Encrypt(char *name,char *name2){
    int i;
    char ch;
 
    ifstream txt(name,ios::binary||ios::out||ios::in);
    if(!txt) exit(1);
 
    ofstream txt2 (name2,ios::binary||ios::out||ios::in);
    if(!txt2) exit(1);
    
    while(txt){
        txt.get(ch);
        i=cmp(ch);
        if (i!=-1) txt2.put(AlphaTwo[i]);
        else txt2.put(AlphaOne[i]);
    }
}
 
int main(){
    setlocale(LC_ALL,"Rus");
 
    int i;
    cout << "Введите сдвиг\n";
    cin >> i;
 
    CipTxt obj(i);
    char name[64],name2[64];
    cout << "Введите имя исходного файла\n";
    cin >> name;
 
    cout << "Введите имя зашифрованного  файла\n";
    cin >> name2;
    
    obj.Encrypt(name,name2);
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2011, 22:10     Почему последний символ в файле удваивается.
Посмотрите здесь:

Проверить, является ли последний символ в файле пробелом - C++
Подскажите, как проверить последний символ в текстовом файле, например является ли он пробелом.

Почему цикл с условием EOF читает последний символ 2 раза? - C++
Данная программа читает двоичную строку и выводит длину самой продолжительной цепочки нулей. Почему мой цикл читает 2 раза последнее...

Почему в пустом файле находит один символ - C++
Имеется файл. Осуществляю подсчет символов в нем. Вот если взять пустой файл - то выдает кол-во символов = 1. Почему так происходит?

Проверить, последний ли символ - C++
Мне нужно удалить символ 'a' с конца строки. Работаю с указателями. Вот в эту функцию подаётся указатель на строку, в конце которой...

Удалить последний строковый символ '\n' - C++
Здравствуйте! Подскажите пожалуйста, можно ли удалить последний строковый символ '\n' ?? Добавлено через 28 минут Нашлось решение

Найти последний символ в строке - C++
найти последний символ в строке #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; void main() { string a; ...

Строка string, последний символ - C++
Подскажите, совсем голову сломал) В char массиве мы можем определить последний символ как '\0' А как найти его в string? Вот к...

Не выводиться последний символ файла - C++
файл содержит по числу на строке на экран почему то выводит все кроме 0 #include &lt;iostream&gt; #include &lt;istream&gt; #include...

Не удаляется последний символ строки - C++
Почему не удаляет последний символ строки, выдает, что такого символа нет. Как это исправить, помогите, пожалуйста. puts(&quot;enter char for...

Удалить последний символ в массиве char - C++
Здравствуйте, подскажите как удалить последний символ в массиве char ? Размер массива узнаю так: Text Добавлено через 3 минуты ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru