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

не записывает текст в .txt - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Консольное приложение.Описать как структуру переменную время http://www.cyberforum.ru/cpp-beginners/thread948201.html
Описать как структуру переменную время (с полями часы, минуты, секунды). Составить и протестировать функцию СЕКУНД(t, t1, d), которая присваивает параметру t1 время на d секунд большее, чем время t,...
C++ Какой самый универсальный способ считать UTF-8 текст на кириллице из файла? Считать UTF-8 текст на кириллице из файла? Нашел много способов, но все они страшные до безобразия. Также кажутся не оптимальными. http://www.cyberforum.ru/cpp-beginners/thread948156.html
C++ Ошибка при запуска любого из проектов примеров directx sdk
Вот собственно и ошибка LINK : fatal error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден
матрица яркости C++
с помощью каких функций, методов можно получить значение яркости пикселя или может лучше матрицу яркости пикселей изображения на C++ для черно-белого и цветного изображения? из цветного можно...
C++ Запись в фаил бОльшего числа цифр http://www.cyberforum.ru/cpp-beginners/thread948080.html
Подскажите пожалуйста, что нужно использовать для того, чтобы записать в фаил число с большим количеством значимых цифр. ... fstream fs; if (!fs.is_open()) { ...
C++ Работа с двумерным массивом - разобрать строку кода Изучаю С++ по книге Шилдт Г.(базовый курс 3-е издание). В теме двумерных массивов столкнулся со строкой, над которой сколько бы не ломал голову, не смог найти для себя её обьяснения.Помогите... подробнее

Показать сообщение отдельно
GK104
1 / 1 / 0
Регистрация: 10.10.2012
Сообщений: 64

не записывает текст в .txt - C++

04.09.2013, 14:20. Просмотров 547. Ответов 13
Метки (Все метки)

Всем привет, прошу помощи еще раз..

Программа берет текст из Input.txt(если файла нет, выдать сообщение), шифрует его методом простой замены, результат кладет в Output.txt.
Дешифрование происходит так: берется зашифрованный текст из Output.txt(если в файле нет инфы, выдать сообщение), расшифровывается, результат попадает в Deshifr.txt. Все работает через простое меню.

Проблема в следующем: по какой-то причине не видит файл Input.txt с исходным текстом(выдается соответствующее сообщение), соответственно шифрование не происходит.Помогите разобраться, пожалуйста..

untitled:

Заголовочные:
deshifr.h:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
#ifndef DESHIFR_H
#define DESHIFR_H
 
class deshifr
{
public:
    deshifr();
};
 
#endif // DESHIFR_H

shifr.h:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
#ifndef SHIFR_H
#define SHIFR_H
 
class shifr
{
public:
    shifr();
};
 
#endif // SHIFR_H

Исходники:
main.cpp:
Кликните здесь для просмотра всего текста
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include<iostream>
#include<conio.h>
#include<fstream>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<shifr.h>
#include<deshifr.h>
 
using namespace std;
 
void shifr()
{
    char kluch[4]={'\0'};
    cout << "Enter the key";
    cin >> kluch;
 
 
    cout<<"Key: "<< kluch;
    ifstream in("Input.txt",ios::in);
    ofstream out("Output.txt",ios::out);
    if(!in)
    {
        cout<<"\nThere is no file for coding (Input.txt).";
        cout<<"\n\nPres any key for exit.";
        _getch();
        exit(1);
    }
    char temp,buf=NULL;
    int n=strlen(kluch);
    int j,i=0;
    for(int k=0;k<n; k++)
 
 
        while(!in.eof())
        {
            in.read((char*)&buf,sizeof(buf));
            if(buf==NULL)break;
 
 
            j=fmod(float(n),float (i));
            temp=buf^kluch[j];
            out.put(temp);
            i++;
            buf=NULL;
        }
    in.close();
    out.close();
    cout<<"\nThe text is in a file Output.txt";
    _getch();
}
 
void deshifr()
{
    char kluch[4]={'\0'};
    ifstream in("Output.txt");
    ofstream out("Deshifr.txt");
    if(!in)
    {
        cout<<"There is no file Output.txt";
        _getch();
        exit(1);
    }
    cout<<"Enter a key: ";
    cin>>kluch;
    char temp,buf=NULL;
    int n=strlen(kluch);
    int j,i=0;
 
 
 
    while(!in.eof())
    {
        in.read((char*)&buf,sizeof(buf));
        if(buf==NULL)break;
        //j=fmod(i,n);
        j=fmod(float(n),float(i));
        temp=buf^kluch[j];
        out.write((char*)&temp,sizeof(temp));
        i++;
        buf=NULL;
    }
 
    in.close();
    out.close();
    cout<<"The decoded text is in the file Deshifr.txt";
    _getch();
    }
 
int main()
{
    int input;
 
    cout << "1. Sifrovanie";
    cout << " 2. Deshifrovanie";
 
    cin >> input;
 
    switch(input){
    case 1:
        shifr();
        break;
    case 2:
        deshifr();
        break;
    }
    cin.get();
}

shifr.cpp:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
#include "shifr.h"
 
shifr::shifr()
{
}

deshifr.cpp:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
#include "deshifr.h"
 
deshifr::deshifr()
{
}


Добавлено через 5 минут
Мои предположения: неверно указан путь к файлу, хотя я пробовал по всякому, и закидывать в одну дирректорию, и прописывать путь полностью, не помогает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru