2012-05-13 3 views
-3

다음은 배열 prod에서 lookUp의 문자열을 찾는 함수입니다. 그렇게하지 않습니다. STR2가 STR1의 일부가 아닌 경우오버로드 된 함수의 호출이 모호합니다.

void search(char prods[],char lookUp) 
{ 
    int index = 0; 
    char *strPtr = NULL; 
     while(index < 5){    
     strPtr = strstr(prods[index], lookUp); 
     if (strPtr != NULL) 
       break; 
      index++; 
     } 
    } 
+2

정확한 오류 및 줄은 무엇입니까? – chris

+3

어떤 테스트 케이스를 사용 했습니까? char 배열이나 char 포인터 배열로 간주되는 prods입니까? strstr()에 대한 호출에서 strstr (& prods [index], lookup)이 참으로 char []이면 읽어야합니다. – MrWuf

+0

LINE 6 오류가 오버로드 된 str (char & char &) 호출이 모호합니다. –

답변

1
strPtr = strstr(prods[index], lookUp); 

않는 strstr()는 STR1에 STR2 최초로 출현 (문자열이 아닌 문자) 또는 널 포인터에 대한 포인터를 리턴한다. strchr() ~~~ 할 수 있다고 생각합니다

1

만약 당신의 질문에 진심으로 문자열이라면, 이렇게 읽어야합니다.

void search(char *prods[],char *lookUp) 
{ 
    int index = 0; 
    char *strPtr = NULL; 
    while(index < 5) 
    {    
     strPtr = strstr(prods[index], lookUp); 
     if (strPtr != NULL) 
      break; 
     index++; 
    } 
} 
관련 문제