char 包含\0空字符的 字符串的连接有关问题
char 包含\0空字符的 字符串的连接问题
char a[100];
char b[]= "ab\0cd ";
char c[]= "ef\0gh ";
我要连接b和c放到a中,让a= "ab\0cdef\0gh ",我试了很多方法,总是遇到\0空字符就不会连接后面的字符了,怎么连接才能把\0空字符包含到连接串里进行连接?
------解决方案--------------------
memcpy
------解决方案--------------------
char a[100];
char b[]= "ab\0cd\0\0 ";
char c[]= "ef\0gh\0\0 ";
memset(a,0,100);
char * pwrite=a;
char * pread=b;
while(*pread!=0)
{
lstrcpy(pwrite,pread);
pwrite+=lstrlen(pwrite)+1;
pread+=lstrlen(pread)+1;
}
pread=c;
while(*pread!=0)
{
lstrcpy(pwrite,pread);
pwrite+=lstrlen(pwrite)+1;
pread+=lstrlen(pread)+1;
}
char a[100];
char b[]= "ab\0cd ";
char c[]= "ef\0gh ";
我要连接b和c放到a中,让a= "ab\0cdef\0gh ",我试了很多方法,总是遇到\0空字符就不会连接后面的字符了,怎么连接才能把\0空字符包含到连接串里进行连接?
------解决方案--------------------
memcpy
------解决方案--------------------
char a[100];
char b[]= "ab\0cd\0\0 ";
char c[]= "ef\0gh\0\0 ";
memset(a,0,100);
char * pwrite=a;
char * pread=b;
while(*pread!=0)
{
lstrcpy(pwrite,pread);
pwrite+=lstrlen(pwrite)+1;
pread+=lstrlen(pread)+1;
}
pread=c;
while(*pread!=0)
{
lstrcpy(pwrite,pread);
pwrite+=lstrlen(pwrite)+1;
pread+=lstrlen(pread)+1;
}