Skip to main content
added 53 characters in body; edited tags; edited title
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

Hi, Can anyone help me improve my instr function? Finding one string located in another

Can anyone help me improve my instr() function?

int myInstr(wchar_t *str, wchar_t c, int start, int dir){
    int pos = 0, result = 0, len;
    wchar_t *p1;

    //Left
    if(dir == 0)
    {
        p1 = str;
        len = lstrlen(str);
        while(pos < len)
        { 
            if(*p1 == c) 
            {
                result = pos;
                return result;
            }
            p1++;
            pos++;
        }
    }
    else
    {
      //Right
      pos = len = lstrlen(str);
      p1 = str;
      p1 += len;
      while(pos >= 0)
      {
          if(*p1 == c) 
          {
              result = pos;
              return result;
          }
          p1--;
          pos--;
      }
    }
    return 0;
}

Hi, Can anyone help me improve my instr function?

int myInstr(wchar_t *str, wchar_t c, int start, int dir){
    int pos = 0, result = 0, len;
    wchar_t *p1;

    //Left
    if(dir == 0)
    {
        p1 = str;
        len = lstrlen(str);
        while(pos < len)
        { 
            if(*p1 == c) 
            {
                result = pos;
                return result;
            }
            p1++;
            pos++;
        }
    }
    else
    {
      //Right
      pos = len = lstrlen(str);
      p1 = str;
      p1 += len;
      while(pos >= 0)
      {
          if(*p1 == c) 
          {
              result = pos;
              return result;
          }
          p1--;
          pos--;
      }
    }
    return 0;
}

Finding one string located in another

Can anyone help me improve my instr() function?

int myInstr(wchar_t *str, wchar_t c, int start, int dir){
    int pos = 0, result = 0, len;
    wchar_t *p1;

    //Left
    if(dir == 0)
    {
        p1 = str;
        len = lstrlen(str);
        while(pos < len)
        { 
            if(*p1 == c) 
            {
                result = pos;
                return result;
            }
            p1++;
            pos++;
        }
    }
    else
    {
      //Right
      pos = len = lstrlen(str);
      p1 = str;
      p1 += len;
      while(pos >= 0)
      {
          if(*p1 == c) 
          {
              result = pos;
              return result;
          }
          p1--;
          pos--;
      }
    }
    return 0;
}
Tweeted twitter.com/#!/StackCodeReview/status/183880958393581568
fixed formatting
Source Link
seand
  • 2.5k
  • 1
  • 20
  • 29
int myInstr(wchar_t *str, wchar_t c, int start, int dir){
    int pos = 0, result = 0, len;
    wchar_t *p1;

    //Left
    if(dir == 0)
    {
        p1 = str;
        len = lstrlen(str);
        while(pos < len)
        { 
            if(*p1 == c) 
            {
                result = pos;
                return result;
            }
            p1++;
            pos++;
        }
    }
    else
    {
      //Right
      pos = len = lstrlen(str);
      p1 = str;
      p1 += len;
      while(pos >= 0)
      {
          if(*p1 == c) 
          {
              result = pos;
              return result;
          }
          p1--;
          pos--;
      }
    }
    return 0;
}

}

int myInstr(wchar_t *str, wchar_t c, int start, int dir){
int pos = 0, result = 0, len;
wchar_t *p1;

//Left
if(dir == 0)
{
    p1 = str;
    len = lstrlen(str);
    while(pos < len)
    { 
        if(*p1 == c) 
        {
            result = pos;
            return result;
        }
        p1++;
        pos++;
    }
}
else
{
    //Right
    pos = len = lstrlen(str);
    p1 = str;
    p1 += len;
    while(pos >= 0)
    {
        if(*p1 == c) 
        {
            result = pos;
            return result;
        }
        p1--;
        pos--;
    }
}
return 0;

}

int myInstr(wchar_t *str, wchar_t c, int start, int dir){
    int pos = 0, result = 0, len;
    wchar_t *p1;

    //Left
    if(dir == 0)
    {
        p1 = str;
        len = lstrlen(str);
        while(pos < len)
        { 
            if(*p1 == c) 
            {
                result = pos;
                return result;
            }
            p1++;
            pos++;
        }
    }
    else
    {
      //Right
      pos = len = lstrlen(str);
      p1 = str;
      p1 += len;
      while(pos >= 0)
      {
          if(*p1 == c) 
          {
              result = pos;
              return result;
          }
          p1--;
          pos--;
      }
    }
    return 0;
}
Source Link

Hi, Can anyone help me improve my instr function?

int myInstr(wchar_t *str, wchar_t c, int start, int dir){
int pos = 0, result = 0, len;
wchar_t *p1;

//Left
if(dir == 0)
{
    p1 = str;
    len = lstrlen(str);
    while(pos < len)
    { 
        if(*p1 == c) 
        {
            result = pos;
            return result;
        }
        p1++;
        pos++;
    }
}
else
{
    //Right
    pos = len = lstrlen(str);
    p1 = str;
    p1 += len;
    while(pos >= 0)
    {
        if(*p1 == c) 
        {
            result = pos;
            return result;
        }
        p1--;
        pos--;
    }
}
return 0;

}