例如,我有一个字符串char str[40]="ABCD(ak47)"
然后我想把这部分放在毯子里面#34; ak47"来自字符串
我该怎么办?
这是我的代码,它不起作用:(
char *result = strstr(str, ")");
int endpos = str - result;
int x = 0;
for (int i = 5; i < endpos; i++)
{
copy[x] = str[i];
x++;
}
顺便说一句,我发现有时候人们会使用char *str
。如果使用char ptr,我们如何获得str[i]
?
答案 0 :(得分:4)
result = strchr(str,'(');
result
指向字符串(
str
result+1
复制字符,直至获得)
或\0
)
,则终止字符串。答案 1 :(得分:1)
看看我的实施。
#define STR_MAX 20
char str[]="ABCD(ak47)";
char copy[STR_MAX+1];
char *result = strchr(str, '(');
result++;
char *ptr;
for (ptr=copy; (*result != '\0') && (*result != ')');)
*ptr++ = *result++;
*ptr = '\0';
printf("%s\n", copy);
在此实现中,我还没有修改原始字符串。我想你可能需要它进行进一步处理。