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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Преобразить код в блок-схему http://www.cyberforum.ru/cpp-beginners/thread1041824.html
Помогите нарисовать блок-схему, завтра сдавать, времени в обрез. Проблема не в знании, а в нехватке времени, по написанной программке надо ещё сделать отчёт большой. А завтра сдавать. Помогите,...
C++ Определить длины кратчайшего и самого длинного слова Здраствуйте. Кто может сделать такое вот задание на лабараторку? Заранье спасибо! В заданой символьной строке, которая заканчивается точкой, определить длины кратчайшего и самого длинного слова. http://www.cyberforum.ru/cpp-beginners/thread1041800.html
Даны два вектора X(20) и Y(20), найти длины векторов X, Y, X+Y, X-Y C++
Помогите найти ошибку, пишет "vector subscript out of range". #include "stdafx.h" #include <iostream> #include <math.h> #include <vector> using namespace std; int _tmain(int argc, _TCHAR*...
C++ Сохранение разных данных
Подскажите, как лучше организовать сохранения запись\чтение из файла, если есть исходный класс, в котором есть поля int, string и указатели на объекты других классов, которые тоже могут иметь...
C++ Златопольский C++ http://www.cyberforum.ru/cpp-beginners/thread1041767.html
Помогите пожалуйста решить задачи из сборника. Есть наработки, но многого не знаю как делать. Среда Visual Studi0 2013, язык С++ 12.65 Три группы студентов, в каждой из которых 20 человек, в...
C++ Златопольский C++ Помогите пожалуйста решить задачи из сборника. Есть наработки, но многого не знаю как делать. Среда Visual Studi0 2013, язык С++ 11.57 Известны данные о количестве осадков, выпавших за каждый... подробнее

Показать сообщение отдельно
Vonka
1 / 1 / 0
Регистрация: 13.09.2013
Сообщений: 90

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

15.12.2013, 01:08. Просмотров 323. Ответов 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;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru