gets_s
имеет существенное ограничение в том, что вы должны указать верхний предел количества символов, которые хотите прочитать.
Поскольку вы используете string
, лучшей альтернативой является использование getline
#include <iostream>
#include <string>
using namespace std;
string str;
getline(cin, str);
Это расширит строку, чтобы она содержала столько символов, сколько вводит пользователь.