Уязвимости в C ++ и конкатенации строк - PullRequest
0 голосов
/ 26 апреля 2020

Я новичок в C ++ и в настоящее время работаю над простой программой, показанной ниже, которая объединяет две строки, введенные пользователем. Я узнал о различных методах конкатенации и увидел много обучающих программ, использующих «+» для сложения двух строк. Я также читал о возможных уязвимостях со строками в C ++ и задавался вопросом, технически безопаснее ли использовать что-то вроде функции "append ()"? Какие возможные уязвимости присутствуют в обоих вариантах? Заранее благодарю за любой совет, который вы можете предложить новичку!

#include<iostream>
#include<string>

using namespace std;

int main() {
   string str1, str2;

   cout << "Enter a string: ";
   getline(cin, str1);

   cout <<"Enter a second string: ";
   getline(cin, str2);

   str1.append(str2);

   cout<< "Strings concatenated: " << str1;

   return 0;
}
...