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

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

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

Ошибка в программе (buffer is too small) - C++

15.12.2013, 01:08. Просмотров 315. Ответов 0
Метки нет (Все метки)

При написании нескольких слов, программа работает, но если написать чуть больше выдает эту ошибку "buffer is too small". Как ее исправить?
И можно ли добавить в этот код: вывод количества букв максимального слова и вывод нескольких слов если они одинакового размера?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void f (char str[])    
{
    char smax[1000];
    int max=0, a;
    char s[1000];
    for (int i=0; i<strlen(str); i++)
    {   
        a = 0;
        strcpy (s, "");
        for (int j=i, k=0; str[j] != ' ' && str[j] != '\0'; j++, k++)
        {
            a++;
            s[k] = str[j];
        }
        s[a]='\0';
        if (a>max)
        {
            max=a;  
            strcpy (smax, s);
        }
    }
    printf ("\nСамое длинное слово: %s\n", smax);
}
C++
1
2
3
4
5
6
    printf ("\nЗадание: Ввести строку, найти в функции в ней слово максимальной длины.\n");
            fflush(stdin);
            printf("\nВведите строку: \n");
            gets_s(s1);
            f(s1);  
            break;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 01:08     Ошибка в программе (buffer is too small)
Посмотрите здесь:

Где ошибка: ClearBuffer(Buffer,sizeof(Buffer)); WRITE(Buffer,test,20,ALL); C++
Buffer Overrun Issues C++
ошибка в программе C++
Memcpy, buffer overflow. Может ли возникнуть ошибка в функции memcpy C++
При вызове конструктора ошибка: L "Buffer is too small" & & 0 C++
C++ Ошибка : " L Buffer is too small & & 0"
C++ Ошибка с delete [] - "CRT detected that the application wrote to memory after end of heap buffer"
Ошибка: "Unhandled exception: Stack cookie instrumentation code detected a stack-based buffer overrun" C++
Strcpy_s выдает ошибку buffer is too small C++
C++ Ошибка: CRT detected that the application wrote to memory after end of heap buffer
C++ Strcpy_s выдает ошибку L Buffer is too small & & 0
Expression: (L"Buffer is too small" && 0) C++

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

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

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