定义char  buf[1024];然后每隔21位添上13012345678,怎么填充啊?谢谢。

解决方案 »

  1.   

    for (i = 0; i < 1024 - 21; i *= 21){
      strcpy(buf + i, "13012345678");
    }
      

  2.   

    楼上的不行哦
    按照你说的
             char  buf[1024];
    memset( buf,0,sizeof(buf) );
    int postion;
    postion = 0; for( int i = 0; i< 3; i++ );
    {
                    strcpy(buf+postion,"8613012345678");
           postion+=21;
    }
    结果buf就是8613012345678,而不是8613012345678        8613012345678        8613012345678............
      

  3.   


    memset(buf, ' ', 1024);
    for (i = 0; i < 1024 - 21; i *= 21){
      memcpy(buf + i, "13012345678", strlen("13012345678"));
    }
    buf[1023] = '\0';
      

  4.   

    strcpy把最后设置成'\0'了,用memcpy就可以了
      

  5.   

    char  buf[1024] = "13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678          13012345678  ";这样有聊吗?
      

  6.   

    我在内存里面看到的buf还是
    8613012345678                                        .........后面没有啊?
      

  7.   

    CString str;
    str.Format("%s",buf);显示的结果是"8613012345678"why?
      

  8.   

    不好意思,刚才没有调试过,现在可以了char buf[1024];
    memset(buf, ' ', 1024);
    for (int i = 0; i < 1024 - 21; i += 21){
      memcpy(buf + i, "13012345678", strlen("13012345678"));
    }
    buf[1023] = '\0';
    printf(buf);
      

  9.   

    char  buf[1024];
    memset( buf,0,sizeof(buf) );
    int postion;
    postion = 0; for( int i = 0; i< 4; i++ );
    {
         memcpy( buf+postion,"8613012345678",strlen("8613012345678") );
                  postion+=21;
    }
    哪里有错呢?
      

  10.   

    for( int i = 0; i< 4; i++ );
    最后有个分号循环了四次空代码