home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / c / 13181 < prev    next >
Encoding:
Text File  |  1992-09-03  |  1.3 KB  |  52 lines

  1. Newsgroups: comp.lang.c
  2. Path: sparky!uunet!mcrware!adam
  3. From: adam@microware.com (Adam Goldberg)
  4. Subject: Re: sscanf? What am I doing wrong?
  5. Message-ID: <1992Sep3.134259.14601@microware.com>
  6. Sender: news@microware.com
  7. Nntp-Posting-Host: ren
  8. Organization: Microware Systems Corp., Des Moines, Iowa
  9. References: <1992Aug31.154655.15737@magnus.acs.ohio-state.edu>
  10. Date: Thu, 3 Sep 1992 13:42:59 GMT
  11. Lines: 39
  12.  
  13. kpearce@magnus.acs.ohio-state.edu (BULLDAWG) writes:
  14.  
  15. >char partA[20];   \* and is for example "transmit data" *\
  16. >char tran[] = "transmit"
  17.  
  18. >  if (partA==tran)
  19. >  {
  20. >      printf("We have a match\n");
  21. >  }
  22. >  else
  23.  
  24. >This always fails.  I have tried putting \r\0 and various other control
  25. >characters at the end of the ttest string tran[] to no avail.
  26.  
  27.  
  28. partA and tran are both POINTERS to some number of characters.  The 
  29. if statement (partA == tran) is checking if the POINTERS are equal...
  30. clearly they're not, unless you did something previously like
  31. partA = tran.
  32.  
  33. What you (probably) want to do is something like this:
  34.  
  35.    if(strcmp(partA, tran)==0)
  36.    {
  37.       match
  38.    }
  39.  
  40.  
  41. or
  42.  
  43.    if(strncmp(partA, tran, strlen(partA))==0)
  44.    { ... }
  45.  
  46.  
  47. -- 
  48. Adam G.
  49. adamg@microware.com, or ...!uunet!mcrware!adamg
  50. The above is not to be construed in any way as the official or unofficial
  51. statements of Microware, or any Microware employees.
  52.