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

error C2040: key: "int [256]" отличается по уровням косвенного обращения от "std::ofstream" - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.94
KeR
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 102
12.11.2011, 11:34     error C2040: key: "int [256]" отличается по уровням косвенного обращения от "std::ofstream" #1
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <time.h>
#include <string>
using namespace std;
#define size 9
int main()
{
    int q, i, j;
 
        char in[size];
         ifstream fileIn ("in.txt", ios::in | ios::binary);
         if (fileIn.is_open())
            {
                for (i=0; i<size; i++){
                    fileIn>>in[i];
                    }
                }
else cout << "Can not open source file or a missing" << endl;
fileIn.close();
    ofstream key("key.txt");
    int key[256];
    srand(time(0));
    for (q = 0; q < 256; q++)
    {
        key[q] = rand() % 256;
        key << key[q];
    }
    key.close();
    ofstream out("out.txt");
    char out[size];
    for (j=0; j<size; j++)
    {
        i=out[j];
        out[j]=in[i];
        out << out[j];
    }
    out.close();
      system("PAUSE");
      return 0;
}
В файле in.txt находится 9 значное слово Argentina. Которое вроде как считывается побайтово (сделать лучше за мной проверить, я в правильности этого не уверен). При компиляции выдает непонятные для меня ошибки. Ребят выручайте.
Ошибки:
Bash
1
2
3
4
5
6
7
8
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\cryptoprimitiv1\cryptoprimitiv1\cryptoprimitiv1.cpp(23): error C2040: key: "int [256]" отличается по уровням косвенного обращения от "std::ofstream"
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\cryptoprimitiv1\cryptoprimitiv1\cryptoprimitiv1.cpp(24): warning C4244: аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\cryptoprimitiv1\cryptoprimitiv1\cryptoprimitiv1.cpp(27): error C2088: [: недопустимо для class
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\cryptoprimitiv1\cryptoprimitiv1\cryptoprimitiv1.cpp(28): error C2088: [: недопустимо для class
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\cryptoprimitiv1\cryptoprimitiv1\cryptoprimitiv1.cpp(32): error C2040: out: "char [9]" отличается по уровням косвенного обращения от "std::ofstream"
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\cryptoprimitiv1\cryptoprimitiv1\cryptoprimitiv1.cpp(35): error C2088: [: недопустимо для class
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\cryptoprimitiv1\cryptoprimitiv1\cryptoprimitiv1.cpp(36): error C2088: [: недопустимо для class
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\cryptoprimitiv1\cryptoprimitiv1\cryptoprimitiv1.cpp(37): error C2088: [: недопустимо для class
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2011, 11:34     error C2040: key: "int [256]" отличается по уровням косвенного обращения от "std::ofstream"
Посмотрите здесь:

error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::basic_istream<_Elem,_Traits>" C++
C++ Исправить ошибку:error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream"
C++ Выдает ошибку c:\proect\8\8\8.cpp(60): error C2040: ==: "char [20]" отличается по уровням косвенного обращения от "int"
C++ Error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream"
C++ Error C2440: <function-style-cast>: невозможно преобразовать "unsigned int" в "std::bitset<_Bits>"
Error C2678: бинарный "<<": не найден оператор, принимающий левый операнд типа "std::ifstream" C++
Ошибка "error C2446: :: нет преобразования "int" в "char *" C++
Не существует подходящей функции преобразования из "std::string" в "int" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
12.11.2011, 12:44     error C2040: key: "int [256]" отличается по уровням косвенного обращения от "std::ofstream" #2
Цитата Сообщение от KeR Посмотреть сообщение
C++
1
2
ofstream key("key.txt");
int key[256];
Шикарно.
KeR
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 102
12.11.2011, 13:32  [ТС]     error C2040: key: "int [256]" отличается по уровням косвенного обращения от "std::ofstream" #3
Цитата Сообщение от soon Посмотреть сообщение
Шикарно.
спасибо, я осознал. А подскажите как мне сделать, чтобы в файл out выводился текст, а не бинарные данные???
Yandex
Объявления
12.11.2011, 13:32     error C2040: key: "int [256]" отличается по уровням косвенного обращения от "std::ofstream"
Ответ Создать тему
Опции темы

Текущее время: 00:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru