char str1[]="aa\0"
char str2[]="bb\0"int nl1 = strlen(str1);
int nl2 = strlen(str2);
char temp[100];
memcpy(temp,str1,nl1);
temp[nl1+1] = '\0';
memcpy(temp + nl1 + 2,str2,nl2);
temp[nl1 + 1 + nl2 + 1] = '\0';

解决方案 »

  1.   

    这是不可能的,即使你用单个字符操作内存地址,使得str2指向的内存地址起始存放的为"aa\0bb\0",但由于c++认为"\0"为字符串结束标志,str2仍然于"aa\0".
    我说的可能不大清楚,大概就是这个意思。
      

  2.   

    我不需要它显示出来,因为有的API函数调用要求字符串中间用\0隔开
      

  3.   

    作为显示来说是不可能的,但是可以实现 bkbj(不可不戒)的要求了
      

  4.   

    char str[] = "abc\0defjge\0";
    int i = sizeof( str );
    ASSERT( i == 12 );are you using SQLConfigDataSource?