Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 07.12.2018
Сообщений: 34
1

Ошибка L"Buffer is too small"

07.12.2018, 14:39. Показов 2336. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не работает программа, хотя по идее должна. Помогите разобраться.
Вот задание: 3. Дана строка, состоящая из слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые содержат хотя бы одну букву «А».

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
#include <iostream>
#include <cstring>
#include <clocale>
using namespace std;
 
int main() {
    setlocale(LC_CTYPE, "rus");
    char s[250], w[25], mas[10][25];
    cout << "Введите слова и знаки" << endl;
    gets_s(s);
    int k = 0, t = 0, i, j, len, c = 0;
    len = strlen(s);
    while (t < len){
        for (j = 0, i = t; s[i] != ' '; i++, j++)w[j] = s[i];
        w[j] = '/0';
        strcpy_s(w, mas[k]);
        k++;
        t = i + 1;
    }
    for (t = 0; t < k; t++){
        if (mas[t][0] == 'A'){
            c++;
            t++;
        }
    }
    cout << "Количество слов содержащих символ А равно " << c;
    system("pause");
    return 0;
}
Миниатюры
Ошибка L"Buffer is too small"  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2018, 14:39
Ответы с готовыми решениями:

Возникает ошибка "Идентификатор Lbuffer не найден"
Доброе время суток. Наткнулся на неприятную вещь: char buffer; ... функция(TEXT(buffer)); ...

Ошибка Value was either too large or too small for an Int32
Здравствуйте подскажите пожалуйста почему при нажатии на конпку button 1 при добавлении записи...

Ошибка в программе (buffer is too small)
При написании нескольких слов, программа работает, но если написать чуть больше выдает эту ошибку...

Ошибка: ORA-24331 user buffer too small
Пытаюсь передать XML из приложения в процедуру в базе. Не знаю на каком месте происходит...

Ошибка System.OverflowException: Value was either too large or too small for an Int32 в приложении
Здравствуйте подскажите пожалуйста почему в приложении при нажатии на конпку button 1 при...

5
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
07.12.2018, 16:23 2
Пользуйся стандартными функциями. А если уж используешь с _s, то читай документацию - там параметров больше.
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
07.12.2018, 18:58 3
nmcf, вопрос. Если в gets_s или strcpy_s больше параметров, то как код скомпилировался?

Ответ
Имеется шаблон функции gets_s, принимающий на вход ссылку на массив. Размер массива (параметр шаблона) выводится из аргумента функции. Так что читай документацию.
Это также относится и к strcpy_s
0
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
07.12.2018, 20:05 4
Цитата Сообщение от Croessmah Посмотреть сообщение
Размер массива (параметр шаблона) выводится из аргумента функции
Не видел такое.
Ну а 15-я строка как скомпилировалась с неправильным наклоном?
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
07.12.2018, 20:12 5
nmcf, получился мультисимвольный литерал типа int.
Значение мультисимвольного литерала определяется реализацией.
0
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,061
07.12.2018, 22:21 6
Цитата Сообщение от vizzzer Посмотреть сообщение
Помогите разобраться.
Почему вы используете в своем коде функции, не зная, что эти функции делают?

Функции группы strcpy копируют данные "из второго параметра в первый", т.е. справа налево. Вы в своем коде копируете неинициализированный мусор из mas[k] в w. Поведение не определено. Происходить может что угодно.
0
07.12.2018, 22:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2018, 22:21
Помогаю со студенческими работами здесь

Ошибка System.Net.Http.WinHttpException buffers was too small
Переодически возникает ошибка: System.Net.Http.HttpRequestException: An error occurred while...

Ошибка в Mathcad вида Vaiue of subscript or superscript is too big (or too small) for this array
Здравствуйте, возник вопрос - создал программу расчета в Mathcad и возникла ошибка вида Vaiue of...

ошибка: 'Microsoft JET Database Engine error '80040e21' The field is too small to accept the amount of data you attempted to add
Подскажите, пожалуйста, почему когда я пытаюсь записать с помощью ASP большой объем текстовой...

Ошибка: firebird Size Mismatch - Field GROUP size is too small for data
Возникла проблема, пишет Size Mismatch - Field FULL_ADR size is too small for data ошибку, которой...

В цикле после 100 итерации ошибка исполнения "Buffer too small"
код такой: for (int i = 1; i &lt;= 256; i++) { cout &lt;&lt; GetVal(i) &lt;&lt; &quot;,&quot;; } GetVal(i) это...

При вызове конструктора ошибка: L "Buffer is too small" & & 0
Привет. При вызове конструктора вылетает эта ошибка. Student(char *n, char *s, char *p, int...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru