我正在尝试构建一个由两个变量组成的字符串,这些变量被一个空终止符分隔。对于我们正在使用的自定义协议,必须以这种方式完成。
const char* vendorChar = "3333-3333-4444-aaa3-3333";
const char* userChar = "someUsername";
char usernameString[strlen(vendorChar) + strlen(userChar) + 1];
char* uPtr = usernameString;
strcpy(uPtr, vendorChar);
strcpy(uPtr+strlen(vendorChar)+1, userChar);
当我运行上面的代码时,它只发送 vendorChar 的值而忽略 userChar。当它工作时,它应该看起来像
4444-2222-3333-1111\0someUsername
到目前为止,我已经了解到str
函数会在字符串末尾看到 null 时删除它。我想我必须用memcpy
它来保存它,但我不知道该怎么做。