如何在C中复制字符串以便不与旧值重叠?我使用了strcpy()
,但它清除dest
以设置src
的值。
char* foo = " This is my string \0";
char* new = malloc(strlen(str) + 1);
char* token;
int size = 0;
token = strtok(foo, " \t");
while( NULL != token )
{
int i;
for(i = 0; token[i] != '\0'; i++)
{
new[size++] = token[i];
}
new[size++] = ' ';
token = strtok(NULL, " \t");
}
new[size] = '\0';
我想要这个代码块的替代方案:
int i;
for(i = 0; token[i] != '\0'; i++)
{
new[size++] = token[i];
}
new[size++] = ' ';
C中有一个本地方法可以做到这一点吗?我在string.h
中找不到任何功能。提前谢谢。