strcmp не работает хотя слово есть

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by fire64, 19 Aug 2009.

Thread Status:
Not open for further replies.
  1. fire64

    fire64 Elder - Старейшина

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    несмотря на то что в meseg содержится details strcmp его не находит


    Code:
    	nNumRead = recvfrom(name_sock, msg, MAX_MSG, 0, (sockaddr  *) &server_addr, &server_addr_size);
    
    
    	if(nNumRead<0) 
    	{
    		printf("cannot receive data \n");
    		continue;
    	}
    
    	char meseg[100] = "";
    
    	for(int i = 4; i < nNumRead; i++)
    	{
    
    		sprintf(meseg, "%s%c",meseg, msg[i] );
    	}
    
    	printf("test %s\n", meseg );
    
    	if (!strcmp(msg, "details"))
    	{
    		printf ("A2S_INFO from %s\n", inet_ntoa(server_addr.sin_addr));
    		continue;
    	}
    
     
  2. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    strcmp, всего лишь сравнивает 2 строки
    [​IMG]

    тебе же нужно найти входит ли строка "details" в строку msg
    думаю подойдет strstr
    [​IMG]

    эдд: если не то нужно, извиняюсь
     
    #2 fker, 19 Aug 2009
    Last edited: 19 Aug 2009
    2 people like this.
  3. Jes

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    не находит тоесть вылетает исключение? или не выполняется if ?

    ps: попробуй strcmp(msg, TEXT("details")) или "details" как отдельную перменную

    pps: кстати да ,
    или сравнить их?
     
    #3 Jes, 19 Aug 2009
    Last edited: 19 Aug 2009
  4. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Если нужно просто сравнить, то возможно в msg передается какой-то лишний символ,
    например '\n'
     
  5. fire64

    fire64 Elder - Старейшина

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    fker, спасибо
    использование strstr помогло
     
Thread Status:
Not open for further replies.