Есть такая задача :
Пользователь вводит пять слов. Нужно сделать из всех пяти слов один char массив c++.
В процессе решения задачи я написал такой код :
#include <iostream>
using namespace std;
int main() {
const int size = 20;
char res[100];
char sentense1[size];
char sentense2[size];
char sentense3[size];
char sentense4[size];
char sentense5[size];
char space[1]{ ' ' };
cout << "Enter five words : " << endl;
cin >> sentense1;
cin >> sentense2;
cin >> sentense3;
cin >> sentense4;
cin >> sentense5;
cout << endl << sentense1 << " " << sentense2;
strcat_s(sentense1, space);
strcat_s(sentense2, space);
strcat_s(sentense3, space);
strcat_s(sentense4, space);
strcat_s(res, 100+strlen(sentense1), sentense1);
strcat_s(res, 100+strlen(sentense2), sentense2);
strcat_s(res, 100+strlen(sentense3), sentense3);
strcat_s(res, 100+strlen(sentense4), sentense4);
strcat_s(res, 100+strlen(sentense5), sentense5);
cout << endl << res;
}
но мой код выводит только два первых слова а дальше выводит ошибку о переполнении буфера или о отсутствии \0 в конце строки.
Помогите пожалуйста.