Я запланировал так что strcmp возвращает 1 когда строки равние, и 0 когда нет, и когда проверяю
первий елемент беру с массива
char mes2[] = "123123";
второй получаю от клиента по сокетах
char inpu[2048];
Сам код получения по сокету
void ReadSocket()
{
bzero(inpu,2048);
int n = recv(client,inpu,2048,0);
inpu[n] = '\0';
}
Принимает 100%, Я даже для проверки вместо strcmp сделал так:
if ( inpu[0] == mes2[0] && inpu[1] == mes2[1] && inpu[2] == mes2[2] && inpu[3] == mes2[3] && inpu[4] == mes2[4] && inpu[5] == mes2[5] )
И оно работает, когда искал ошибку заметил что не срабативает
if(s1[x] == 0)
{
return 1;
}
Как бутто в конце строки и не ноль...
Весь код strcmp
int strcmp(char *s1, char *s2 )
{
int x;
x = 0;
do{
if ( s1[x] == s2[x] )
{
if(s1[x] == 0)
{
return 1;
}
x = x + 1;
}
}while(s1[x] == s2[x] );
return 0;
}