如何在C里实现DELPHI的COPY函数功能?
我在C里有一个长串 LSTR='00000001SEND0300'
我如何用C得到象DELPHI语句得到的如下结果?
var
  s1,s2,s3:string;
begin
  s1:=copy(lstr,1,8);
  s2:=copy(lstr,9,4);
  s3:=copy(lstr,13,4); 
end

解决方案 »

  1.   

    char *strncat( char *strDest, const char *strSource, size_t count );wchar_t *wcsncat( wchar_t *strDest, const wchar_t *strSource, size_t count );unsigned char *_mbsncat( unsigned char *strDest, const unsigned char *strSource, size_t count);大概是这样在VC里---------------------------------------------------------------------
                               该学点什么?
    ---------------------------------------------------------------------
      

  2.   

    TO 楼上的两位:
    象你们所说的只是解决了S1的赋值,那我S2,S2该怎样赋值啊?
      

  3.   

    设第一个字符的index = 0, 自己管理字符串内存分配,保证输入参数合法bool Copy(char *pDest, const char *pSource, unsigned int HeadIndex, unsigned int TailInex)
    {
       if (!pDest || !pSource || pDest==pSource) return false;   int i,j;
       for(i=HeadIndex, j=0; i<=TailIndex; i++, j++) pDest[j]=pSource[i];   pDest[j]='\0';   return true;
    }
      

  4.   

    char s[]= "00000001SEND0300";
    char s1[100],s2[100],s3[100];strcpy ( s1, s+1 ); s1[8] = '\0';
    strcpy ( s2, s+9 ); s1[4] = '\0';
    strcpy ( s3, s+13 ); s1[4] = '\0';
      

  5.   

    char s[]= "00000001SEND0300";
    char s1[100],s2[100],s3[100];strcpy ( s1, s+1 ); s1[8] = '\0';
    strcpy ( s2, s+9 ); s2[4] = '\0';
    strcpy ( s3, s+13 ); s3[4] = '\0';