#include <iostream>
#include <cstring>
using namespace std;
int main()
{
setlocale(0, "");
char strHello[256] = "hello";
char strWorld[256] = " world";
strcat (strHello, strWorld);//я так же обратил внимание и на другие команды(strcpy,strcmp);
cout << strHello << endl;
return 0;
}
В Visual C++ рекомендуется использовать функцию strcat_s, и другие функции с _s на конце. Она принимает размер буфера, по этому при ее использовании не может произойти переполнение буфера.
char strHello[256] = "hello";
char strWorld[256] = " world";
strcat_s (strHello, sizeof(strHello), strWorld);
// или, для массивов (не указателей) можно не передавать размер:
strcat_s (strHello, strWorld);
Предполагаю, что ошибка всё же имеет номер C4996 (а не C4999). Возникает по причине того, что MS считает функцию strcat небезопасной (в принципе не безосновательно). Однако, приводить к ошибке (не предупреждению) компиляции это по моему мнению не должно. Тем не менее, чтобы упомянутой ошибки не возникало, достаточно добавить следующую строку в начало исходника:
#define _CRT_SECURE_NO_WARNINGS
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости