Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2013, 17:53   #1
Rye_eyes
 
Регистрация: 20.07.2012
Сообщений: 2
По умолчанию

Приветствую уважаемое сообщество. Подскажите мне, пожалуйста, чем может вызываться указанная в теме ошибка (с следующей расшифровкой: stack around the variable 'mybuf' was corrupted) в следующем коде:

Код:
#include <stdio.h>
#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
char mybuf[5000];

while (true)
{ 


strset(mybuf,NULL);

cout<<"Enter the command for server or stop clnt"<<endl;

fgets(mybuf,sizeof(mybuf),stdin);
strtok(mybuf,"\n");

printf("%s - mybuf.\n",mybuf); 

// Анализ остановки со стороны клиента

if (!strcmp(mybuf,"stop clnt"))
{

printf("%s - mybuf1.\n",mybuf); 
printf("Client stoped correctly. \n" );
break;
};
};

printf("WAH\n");

printf("%s - mybufwah.\n",mybuf);

return 1;
}
Методы решения тоже приветствуются. Спасибо) Причём вызывается данная ошибка по return'у, не раньше. Т.е. переполнения определённо нет.

Причём, судя по отладке, проблема в strtok. Strset ему тоже не нравится.

Причём, в отличие от strset(mybuf,NULL) - strnset(mybuf,sizeof(mybuf),NULL); он спокойно кушает. ???

Последний раз редактировалось Stilet; 18.01.2013 в 21:43.
Rye_eyes вне форума Ответить с цитированием
Старый 18.01.2013, 18:16   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

strset требует \0 в конце строки - у вас его нет. В strnset указывается размер, поэтому не выходить за пределы строки.
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Run-Time Check Failure#3 Ruko! Помощь студентам 5 23.09.2012 15:43
Run-Time Check Failure #0 kineziz Общие вопросы C/C++ 6 16.07.2012 16:30
Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted. Gidross Общие вопросы C/C++ 9 28.12.2010 15:22
Run-Time Check Failure #3 Xe[N]o Общие вопросы C/C++ 2 27.11.2010 09:01
run-time check failure #2-stack around the variable 't' was corrupted Despar Общие вопросы C/C++ 1 13.05.2010 08:33