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

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

Войти
Регистрация
Восстановить пароль
 
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
#1

memory can't be 'written' - C++

28.10.2012, 22:29. Просмотров 368. Ответов 4
Метки нет (Все метки)

Помогите найти ошибку. При компиле ничего не выскакивает. Когда запускаю программу - ошибка.
Программа-переводчик из двоичной системы счисления в десятичную.

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
#include <iostream>
#include <list>
 
using namespace std;
typedef list<int> _List;
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
 
    char* symbol = "";
    int result = 0, cnt = 0;
    _List SymbolsList;
 
    cout << "Введите число.\n";
    do
    {
// TODO: make check
//      if (symbol < "0" || symbol > "1")
//          continue;
        
        cin.get(*symbol);
 
        SymbolsList.push_back(atoi(symbol));
        ++cnt;
    }
    while (symbol != "\n");
 
    system("cls"); 
 
    for(_List::iterator i = SymbolsList.begin(); i != SymbolsList.end(); i++)
        if (!SymbolsList.empty())
            result += (int(*i) * pow(double(2), cnt--));
 
    cout << result;
 
    system("pause >> NULL");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2012, 22:29     memory can't be 'written'
Посмотрите здесь:

Память не может быть "written" - C++
Помогите найти ошибку в следующем коде: На этапе вхождения в функцию &quot;vvod_vseh&quot;, а именно при вводе первой фамилии - выскакивает ошибка...

Out of memory - C++
Недавно решил освоить графику в с++, и при прорисовке изображения на канве заметил, что оно занимает память. По таймеру каждые 100...

Memory Bomb - C++
помогите пожалуйста решить лабораторную работу))))заранее спасибо) Напишите программу, которая выделяет 200 раз по 200 мегабайт (память...

Memory Manager - C++
Добрый день, после прочтения темы http://www.cyberforum.ru/cpp-beginners/thread1399246.html заинтересовался: стоит ли писать такой...

vector memory - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; template &lt;typename T&gt; class vector { T* m_arr; int...

Custom memory manager - C++
в образовательных целях решил написать свой менеджер памяти class memory_pool { typedef unsigned char byte; struct free_space...

Unable to read memory - C++
Явных ошибок нет, а в чем проблема понять не могу. Буду премного благодарен за разъяснение.

memory leaks | Деструктор - C++
#ifndef INTEG_H_ #define INTEG_H_ #include &lt;iostream&gt; using namespace std; class integer{ private: int value; int...

Memory pool and sizeof(string) - C++
хочу написать класс, который выделяет куски памяти(например по 1000 байт), и раздает указатели на память class memory_pool { typedef...

Ошибка bad_alloc at memory location - C++
Мне нужно создать метод для обработки массива. И в методе мне нужно создать динамический массив типа дабл. Когда я компилирию код...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
28.10.2012, 22:34     memory can't be 'written' #2
C++
1
char* symbol = "";
замените на
C++
1
char symbol;
или
C++
1
int symbol;
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
28.10.2012, 22:41  [ТС]     memory can't be 'written' #3
В случае, если заменить тип на int, я не смогу считать каждый вводимый символ "cin.get(symbol)"
В случае использования типа char невозможно использовать atoi, что приводит к некорректному вычислению.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
28.10.2012, 22:42     memory can't be 'written' #4
C++
1
2
3
char symbol;
//...
atoi(&symbol);
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.10.2012, 00:13     memory can't be 'written' #5
Цитата Сообщение от I.M. Посмотреть сообщение
atoi(&symbol);
Ни в коем случае. atoi ждет нультерминированную строку, выводы делайте сами.

Цитата Сообщение от Afflicted Посмотреть сообщение
В случае использования типа char невозможно использовать atoi
C++
1
SymbolsList.push_back(symbol - '0');
Yandex
Объявления
29.10.2012, 00:13     memory can't be 'written'
Ответ Создать тему
Опции темы

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