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

Различия между scanf("%s") и gets() - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как начать программировать на C++, не уходя с Pascal http://www.cyberforum.ru/cpp-beginners/thread1751330.html
//Не воспринимайте дальнейшее всерьез Теперь Вы можете перейти с Паскаль на С++, ничего не изучая собственно из с++ Вам нужно только подключить один заголовочный файл чтобы начать работать на С++...
C++ Ошибка в программе "Среднее арифметическое" Хотел создать программу, которая считает и выводит среднее арифметическое чисел, но эта программа выводит неправильный ответ. #include <iostream> #include <conio.h> using std::cout; using... http://www.cyberforum.ru/cpp-beginners/thread1751322.html
Запись из файла в файл C++
Доброго времени суток, форумчане. Начал относительно недавно пробовать писать программы, и возникла проблемка в следующей программе, в которой по заданию необходимо данные из одного файла...
OpenMP и SIMD C++
Добрый день. Не могу исправить код, чтобы использовалось 4 ядра, а не 1. В функцию proizv нужно добавить распараллеливание вычислений с помощью OpenMP. Заранее спасибо #define...
C++ Перебрать все возможные комбинации трех чисел от нуля до двух http://www.cyberforum.ru/cpp-beginners/thread1751285.html
Здравствуйте, помогите, пожалуйста, разобраться с темой (лучше всего написать код, а то на словах вроде понятно, но код всё же лучше) Задача: перебрать все возможные комбинации трех чисел (тип...
C++ Последний элемент каждой строки заменить средним из отрицательных чисел строки (На С++) Преобразовать исходную матрицу A(MxN) так, чтобы последний элемент каждой строки был заменен среднем арифметическим отрицательных чисел подробнее

Показать сообщение отдельно
Humpty
14 / 14 / 5
Регистрация: 10.03.2016
Сообщений: 35
01.06.2016, 11:46
Это для вас только начинается ввод новой строки, а для компьютера есть два разных потока ввода и вывода. В консоли они перемешаны, но в модели раздельны. Когда вы закончили вводит часть со scanf, в конце повис символ \n. Его gets и читает.

В целом лучше не мешать различные типы ввода/вывода. А в отношении gets использовать fgets. Он безопаснее. Можно хотя бы указать максимальный размер буффера.

Про ошибку не знаю. Вы обращаетесь к text2[-1]. Valgrind на такое, наверное, будет ругаться. А упадет ли программа, я не знаю. Скорее всего здесь будет unpredicted behavior.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru