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

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

Войти
Регистрация
Восстановить пароль
 
Roman_P
11 / 11 / 5
Регистрация: 22.08.2013
Сообщений: 77
Завершенные тесты: 1
#1

Переполнение буфера. В int появляется 3 - C++

08.12.2013, 14:38. Просмотров 199. Ответов 0
Метки нет (Все метки)

Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <string.h>
#include <stdio.h>
 
int main() {
    int b = 0;
    char a[1];
    printf("adres b %p\n",a);
    printf("adres a %p\n",&b);
    gets(a);
    printf("znachenie a %s\n",a);
    printf("znachenie b 10-noe %u\n",b);
    printf("znachenie b 16-noe %x\n",b);
    gets(a);
    }
При переполнении в b числа, которые я ввёл появляются с конца и между ними 3-ки.

Примеры:
Кликните здесь для просмотра всего текста
1)
adres b 0020F773
adres a 0020F77C
9876543212
znachenie a 9876543212
znachenie b 10-noe 50
znachenie b 16-noe 32

2)
adres b 0024FBFF
adres a 0024FC08
123456789875
znachenie a 123456789875
znachenie b 10-noe 3487544
znachenie b 16-noe 353738

Можно объяснить, откуда 3-ки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 14:38     Переполнение буфера. В int появляется 3
Посмотрите здесь:

Переполнение буфера! (наверное) - C++
Идет открытие порта звуковой карты, получение битов, запись битов в буфер и дальнейшие манипуляции с ним (пока только вывод в текстовый...

Переполнение буфера и его эксплойты - C++
Добрый вечер) Есть такая прога, которая выглядит следующим образом: #include &lt;cstdio&gt; int checkCredentials() //performs credentials...

Переполнение буфера . Что делать ? - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { char in; /* строка...

Не получается сделать переполнение буфера - C++
Всем привет! Нужно сделать переполнение буфера и подменить адрес функции на другой. Если делаю так: void overflow(char *ptr) {...

Переполнение буфера, адрес возврата - C++
Подскажите пожалуйста, где можно найти адрес возврата при переполнении буфера. Visual Studio 2012 windows 8.1

Переполнение буфера при поиске WNDDIR - C++
string getWNDdir(){ TCHAR wndbuff; memset(wndbuff,0,sizeof(TCHAR)*sizeof(wndbuff)); string strdir=&quot;&quot;; ...

Найти причины и способы исправления ошибок в коде (переполнение буфера) - C++
Только начали изучать построение классов.Делаю класс MyCat (кот). Компилирование запускается но потом вылазит ошибка о переполнении буфера....

Возникло переполнение буфера, что привело к повреждению внутреннего состояния программы - C++
Возникло переполнение буфера, помогите найти ошибку и, по возможности, исправить #include &quot;stdafx.h&quot; #include &quot;stdafx.h&quot; #include...

Проверить int на переполнение - C++
Здорова! Нужно как то проверить int на переполнение. А я вообще не пойму, что понимается под переполнением. Это что как бы выход за...

Exeption на переполнение int - C++
как называется ексепшен который бы поймал эту ошибку?(переполнение int, типа если в переменную положится число больше чем 2 147 483 647 -...


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

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

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