Может кто-нибудь объяснить, почему я получаю эту ошибку при компиляции исходного кода, используя следующий компилятор g ++
#include <cstdio>
#include <string>
using namespace std;
int main()
{
char source_language[50];
scanf("%16s\n",source_language);
int length = sizeof(source_language);
int sizeofchar = strlen(source_language);
printf("%d\n",sizeofchar);
}
это дает мне следующую ошибку
test.cpp: в функции int main ():
test.cpp: 31: ошибка: «strlen» не был объявлен в этой области
когда я меняю #include <string>
на #include <string.h>
или #include<cstring>
, он работает нормально, мне нужно выяснить, в чем разница, используя #include<string>
и #include<string.h>
очень ценю любую помощь