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

Строка как массив символов. Stack around the variable 'qu' was corrupted - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Игра "Угадай число" http://www.cyberforum.ru/cpp-beginners/thread1308999.html
Ребят крч сегодня начал учить c++, задача была сделать игру "Угадай число" с фиксированным числом. Вроде начал делать и я не понимаю просто как сделать цикл, я и так пробовал и так...крч. Помогите с...
C++ Файл со структурой "Владелец автомобиля", создание, поиск Создать файл с сообщениями о фамилии влас¬никив автомобилей, марки автомобилей, их цвет и год выпуска. Вывести фамилии владельцев, имеющих автомобиль указанного пользователем года выпуска, марки и... http://www.cyberforum.ru/cpp-beginners/thread1308988.html
C++ Исправить программу. Статический массив вместо динамического
Как обойтись без 12 строки? #include <stdio.h> #include <iostream> #include <time.h> using namespace std; int main() { int n; cin>>n;
Список с системой ссылок между каждой четверкой элементов C++
помогите написать программу или хотя бы помогите с алгоритмом за ранее спасибо Написать программу для создания динамической конструкции из элементов структуры, каждый из которых ссылается на два...
C++ Удаление динамических объектов http://www.cyberforum.ru/cpp-beginners/thread1308962.html
есть программа, в которой реализован список объектов, создающиеся динамически. Перед вами функция, которая получает указатель на один из элементов списка и нужно удалить все объекты кроме первого,не...
C++ Найти количество строк, среднее арифметическое элементов которых меньше заданной величины Дана целочисленная прямоугольная матрица. Найти количество строк, среднее арифметическое элементов которых меньше заданной величины. Помогите пожалуйста сделать программу. подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3908 / 2145 / 549
Регистрация: 18.10.2014
Сообщений: 3,755
24.11.2014, 07:19
Цитата Сообщение от Megatron13 Посмотреть сообщение
Но все же, почему использовать именно константу, определяющую максимальную длину пути в Winodows?
Использовать можно любую константу "достаточной" величины. Использовать для этих целей именно 'MAX_PATH' - невероятная профанация. В вашем случае строка не имеет никакого отношения к путям в Виндовс, что означает, что ни каком 'MAX_PATH' не может быть и речи. Забудьте про 'MAX_PATH'. Используйте 512, 1024 или 2048 или еще что-нибудь, но не 'MAX_PATH'.

При этом надо понимать, что какую бы константу вы ни выбрали, все равно будет происходить разрушение стека, если пользователь введет строку большей длины. Поэтому вот так запросто решить эту задачу невозможно.

При фиксированном размере массива стоит ограничить максимально допустимое количество введенных символов этим размером

C++
1
2
3
char qu[1024];
...
cin >> setw(sizeof qu) >> qu;
Однако такой подход, к сожалению, не дает вам понять, прочиталась ли вся строка целиком, или была обрублена установленным лимитом.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru