Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для Lipok
2 / 2 / 0
Регистрация: 27.05.2013
Сообщений: 15

Ошибка "Stack around the variable 'text' was corrupted"

25.04.2014, 19:44. Показов 2144. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка.
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <time.h>
using namespace std;
struct btree
{
   int key;
   char link [256];
   btree *left;
   btree *right;
};
//----------------------------------------------//
btree *Insert (btree **theTree, int theKey, const char *theLink)
{
   btree **node= theTree;
   while (*node && theKey != (*node)->key)
      if (theKey < (*node)->key)
         node= &((*node)->left);
      else
         node= &((*node)->right);
   if (!(*node))
   {
      *node= new btree;
      (*node)->key= theKey;
      strcpy((*node)->link, theLink);
      (*node)->right= (*node)->left= NULL;
   }
   return *theTree;
}
//----------------------------------------------//
void TextFind(btree * root)
{
 FILE *f;
// struct date d;
 time_t    now;
 struct tm  *ts;
 now = time(NULL);
 ts = localtime(&now);
 char text[4],c, buf[80];
 int i,j;
 strftime(buf, sizeof(buf), "%d:%m:%Y", ts);
 strcpy(text,"");
 i=strlen(root->link)-4;
// getdate(&d);
 strcat(text,&root->link[i]);
// cout<<"\n Text:"<<text<<"\n";
 if (strcmp(text,".txt")==0)
  if  ((f=fopen(root->link,"rt"))==NULL)
    cout <<"File "<<root->link<<" doesn't exist";
   else
   {
    i=0;
    while (i!=52)
      {
        if (i==30)
         {
          if (strlen(root->link)>10)
           {
            for (j=0;j<6;j++)
             {
              cout<<root->link[j];
              i++;
             }
             cout<<"~.txt";
             i=i+j;
           }
          else
             {
              cout<<root->link;
              i=i+strlen(root->link);
             }
         }
        if (i==40)
         {
         printf("%s\n", buf);
/*           cout<<d.da_day<<";"; //непонятно что выводит
           cout<<d.da_mon<<";"; //
           cout<<d.da_year<<"\n";
           i=i+8;
*/
         }
        cout<<" ";
        i++;
      }
    j=0;
    cout<<"\n";
    while (!feof(f))
      {
       if (j==60)
           {
            j=-1;
            while (fgetc(f)!=' ')
             {
              c=fgetc(f);
              putchar(c);
             }
           cout<<"\n";
           }
        c=fgetc(f);
        putchar(c);
       j++;
      }
   fclose(f);
   cout<<"\n";
   }
  }
//----------------------------------------------//
void Print(btree *root)
{
   if (root)
   {
      cout << root->key << " " <<root->link<<"\n";
      Print(root->left);
      Print(root->right);
   }
}
//----------------------------------------------//
int LenSubTree(btree *theTree, int theLen= 0)
{
   if (!theTree)
      return theLen;
   theLen++;
   int left= LenSubTree(theTree->left, theLen);
   int right= LenSubTree(theTree->right, theLen);
   return left < right ? right : left;
}
//----------------------------------------------//
btree *MaxSubTree(btree *theTree)
{
   if (!theTree)
      return NULL;
   return LenSubTree(theTree->left) > LenSubTree(theTree->right) ? theTree->left : theTree->right;
}
//----------------------------------------------//
int main (int argc, char **argv)
{
   srand(time(NULL));
   char str[256];
   int i;
   btree *a= NULL;
   for (i=0;i<10;i++)
   {
      cout<<"Enter file name : ";
      cin.getline(str,256);
      Insert(&a, rand()%50,str);
   }
   btree *b= a;
   while (b= MaxSubTree(b))
   {
      TextFind(b);
   };
   getch();
   return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.04.2014, 19:44
Ответы с готовыми решениями:

Stack around the variable 'text' was corrupted
Задание вывести вводимое слово задом наперёд. Вроде всё написал правильно но выдает Run-Time Check Failure #2 - Stack around the...

Ошибка «Stack around the variable 'p' was corrupted»
После вывода консолью ASCII-символов, в коде вылазит ошибка «Stack around the variable 'p' was corrupted». Как её исправить? ...

Ошибка: Stack around the variable 'Material' was corrupted
При компиляции кода на C++, выводит ----Run-Time Check Failure #2 - Stack around the variable 'Material' was corrupted.---- И...

5
 Аватар для Vaiz
104 / 98 / 40
Регистрация: 01.07.2012
Сообщений: 277
25.04.2014, 19:52
Цитата Сообщение от Lipok Посмотреть сообщение
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка.
Скорее всего выход за пределы массива в переменной text. Проверьте те места, где в нее вносятся изменения, возможно стоит увеличить длину массива
1
5 / 5 / 0
Регистрация: 02.06.2014
Сообщений: 37
19.03.2024, 14:23
Может быть всякое. Прошагайте до появления ошибки или при появлении ошибки начните отладку и посмотрите стек вызовов: на какой конкретно строке появляется ошибка? На следующем запуске поставьте там точку останова и проверьте, какие параметры какой функции передаются. Попробуйте понять, что будет делать функция при таком наборе параметров. Так сложно сказать, нужно отлаживать и разбираться...
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,219
19.03.2024, 18:18
Цитата Сообщение от Lipok Посмотреть сообщение
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка.
Так уже написано же, в чем ошибка.

А почему он на должен быть corrupted? У вас же открытым текстом написано

C
1
2
3
4
сhar text[4];
...
i=strlen(root->link)-4;
strcat(text,&root->link[i]);
то есть вы помещаете строку длины 4 в массив размера 4. Но массива размера 4 недостаточно для строки длины 4.
0
фрилансер
 Аватар для Алексей1153
6455 / 5656 / 1129
Регистрация: 11.10.2019
Сообщений: 15,063
19.03.2024, 18:34
думаю, за 10 лет он уже сам отладился
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,219
19.03.2024, 18:36
Цитата Сообщение от Алексей1153 Посмотреть сообщение
за 10 лет он уже сам отладился
Кто знает... За десять лет и расширения у файлов могли длиннее стать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.03.2024, 18:36
Помогаю со студенческими работами здесь

Ошибка - Stack around the variable 'ary' was corrupted
Привет, форумчане. #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { const unsigned int...

Ошибка Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted
Суть работы: Дана непустая последовательность слов (не более 30), в каждом слове не более восьми строчных латинских букв. Слова разделены...

Ошибка Run-Time Check Failure #2 - Stack around the variable 'B' was corrupted
Ошибка Run-Time Check Failure #2 - Stack around the variable 'B' was corrupted Суть работы - дан массив 5х5, нужно найти минимальный...

Ошибка Run-Time Check Failure #2 - Stack around the variable 'h' was corrupted
Формирование координат графика экспоненциальной функции #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;cmath&gt; ...

Ошибка run-time check failure #2 - stack around the variable 'findmonths' was corrupted
Есть код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru