我有一个String,我将其声明为
char *cQuery = "My Name Is ";
我想附加另一个字符串。在objective-c中,我会说stringByAppendingString:newString
我在Objective-C类中使用C时有点生疏。任何人都可以帮助我吗?
由于
答案 0 :(得分:3)
您可以使用string.h中的strcat方法,但必须注意目标字符串的大小必须足以容纳新组合的字符串。
char destination[100];
char *cQuery = "My Name Is ";
char *anotherStr = "Peter";
strcpy(destination, cQuery);
strcat(destination, anotherStr);
答案 1 :(得分:3)
通过像这样声明字符串,你声明cQuery是一个常量字符串。
// You can change cQuery using strcat, snprintf etc.
char *cQuery = "My Name Is ";
// Error! Cannot do this.
// strcat(cQuery, "John");
如果你想要cQuery可修改,你需要创建一个具有显式大小的char数组,然后将起始内容复制到该字符串中。
char cQuery[128];
// use snprintf or strcpy to initialize
strcpy(cQuery, "My name is ");
// now you can modify cQuery by calling strcat.
strcat(cQuery, "Funny Name");
答案 2 :(得分:2)
我会使用snprintf。 (这是我最喜欢的功能之一!)
像这样:
void add_it(const char *name)
{
char buffer[256];
const size_t buffer_len = sizeof(buffer);
snprintf(buffer, buffer_len, "My Name Is %s", name);
do_something(buffer);
}
答案 3 :(得分:1)
使用strcat
查看帮助here