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

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

Войти
Регистрация
Восстановить пароль
 
tytus
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 15
#1

Run-Time Check Failure #2 - Stack around the variable 'hexStr' was corrupted - C++

30.05.2012, 12:56. Просмотров 835. Ответов 6
Метки нет (Все метки)

вот код:
C++
1
2
3
4
5
6
7
char baseStr[] = "some number";
char hexStr[] = "0x\0";
    
cout << strcat(hexStr, baseStr) << "\n";
 
cin.get();
return 0;
Почему стек разрушается?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 12:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Run-Time Check Failure #2 - Stack around the variable 'hexStr' was corrupted (C++):

Run-Time Check Failure #2 - Stack around the variable 'C' was corrupted - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { const int n=10; int i,A,B,C,k; ...

Run-Time Check Failure #2 - Stack around the variable 'dt' was corrupted - C++
Я понимаю что ошибка говорит о том что где-то вышел за диапазон массива, я перепроверил все циклы, вроде все гладко с индексами. данная...

Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted - C++
Всем привет, начал недавно писать на с++, делаю программу по заполнению и сортировке элементов массива. При выполнении не показывает ...

Run-Time Check Failure #2 - Stack around the variable 'n' was corrupted - C++
При вводе значение более трёх символов (это значение конечно можно регулировать) появляется следующее сообщение Run-Time Check Failure #2 -...

Run-Time Check Failure #2 - Stack around the variable 'A' was corrupted - C++
Определить класс вектор (одномерный числовой массив). В класс включить конструктор для определения вектора по количеству элементов,...

Run time check failure #2 stack around the variable was corrupted - C++
Помогите пожалуйста найти ошибку, только начала писать код и уже не могу найти ошибку void main() { //руссификатор ...

6
Subrealist
149 / 46 / 3
Регистрация: 28.05.2012
Сообщений: 115
30.05.2012, 13:08 #2
Цитата Сообщение от tytus Посмотреть сообщение
strcat(hexStr, baseStr)
http://www.cplusplus.com/reference/c...string/strcat/
char * strcat ( char * destination, const char * source );
destination
Pointer to the destination array, which should contain a C string, and be large enough to contain the concatenated resulting string.
"destination
Указатель на массив назначения, который должен содержать Си строку, и размер которого должен быть достаточен для содержания результирующей объединённой строки"
Цитата Сообщение от tytus Посмотреть сообщение
char hexStr[] = "0x\0";
Для чего такое определение дано?
0
tytus
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 15
30.05.2012, 15:10  [ТС] #3
... перепутал, я же к hexStr прибавляю baseStr...
Тогда понятно, вопрос снят.

Добавлено через 1 час 55 минут
>Subrealist
для чего я написал
C++
1
char hexStr[] = "0x\0";
?
ну - "\0" это ноль-терминатор строки.
а "0x" - это для дальнейшего преобразования числа в hex-формате
функцией _strtoui64, в справке по которой сказано, что
строку в шеснадц-ом формате можно перевести в целое, если
в начале строки будут символы "0x" (или еще парочка каких-то...).
Так вот у меня данные в txt файле имеют hex формат, но без "0x":
к прим.: 00a00000087c910a.
Вот так вот...
0
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
30.05.2012, 15:28 #4
tytus, ноль-символ не нужно задавать явно, он добавится в любом случае, если только не указан размер массива.
0
tytus
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 15
30.05.2012, 15:54  [ТС] #5
>Toshkarik
ноль-символ не нужно задавать явно
не ненужно - а - можно не задавать явно... никто-ж не запрещает
0
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
30.05.2012, 16:02 #6
Дело не в запрете, а в читабельности кода, явное приписывание нуль символа при инициализации массива символов можно отнести к категории извращений. Но да, Вам никто не запрещает, это всего лишь совет, если Вы вдруг будете писать код, который потом будет разбирать кто-то еще
0
tytus
0 / 0 / 0
Регистрация: 29.04.2012
Сообщений: 15
30.05.2012, 16:05  [ТС] #7
гут, всем спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2012, 16:05
Привет! Вот еще темы с ответами:

Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted - C++
Добрый день подскажите что это означает и как исправить данное сообщение Run-Time Check Failure #2 - Stack around the variable 'a' was...

Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted. - C++
Здравствуйте. Пишу две функции: ввод и вывод целочисленного массива, в конце программы вылетает такая ошибка, и я уже понял...

Run-Time Check Failure #2 - Stack around the variable 'gunpowder' was corrupted - C++
После успешного завершения выдаёт &quot;Run-Time Check Failure #2 - Stack around the variable 'gunpowder' was corrupted.&quot; int main(void) { ...

Run-Time Check Failure #2 - Stack around the variable 'flag' was corrupted - C++
выдаёт такую ошибку по завершению выполнения этой пп-мы. в чём может быть дело? CfgOfSquare { POINT pt; HBRUSH brush; HPEN...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
30.05.2012, 16:05
Ответ Создать тему
Опции темы

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