This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

strpos() not working when strstr() works

Dear Board

I’m using STM32F103 controller, when I use strstr function for finding a word in a string the compiler throws a warning. No issue for me but the code works fine

But when I use strops(), the compiler throws error. It says this is used for C199 etc.. where can I see the string functions supported for MDK-IDE??

Below is the code im trying to execute for which IDE throws error


This code is extracted from keil reference book and applied for MDK according to my usage

#include <string.h>
#include <stdio.h> /* for printf */

void tst_strcat (void) {

  unsigned char buf [21];
  unsigned char s [] = "Test String";

  strcpy (buf, s);
  strcat (buf, " #2");

  printf ("new string is %s\n", buf);
}

Parents
  • sorry.. above copied code is incorrect..

    please use the below mentioned code.

    
    #include <string.h>
    #include <stdio.h> /* for printf */
    
    void tst_strrpos (const char *s) {
      int i;
    
      i = strrpos (s, ' ');
    
      if (i == -1)
        printf ("No spaces found in %s\n", s);
      else
        printf ("Last space in %s is at offset %d\n", s, i);
    }
    
    

Reply
  • sorry.. above copied code is incorrect..

    please use the below mentioned code.

    
    #include <string.h>
    #include <stdio.h> /* for printf */
    
    void tst_strrpos (const char *s) {
      int i;
    
      i = strrpos (s, ' ');
    
      if (i == -1)
        printf ("No spaces found in %s\n", s);
      else
        printf ("Last space in %s is at offset %d\n", s, i);
    }
    
    

Children
No data