让我们看看这个例子:
char var1[100] = "test ";
char* var2;
如果我这样做:
var2 = &var1;
我会用空格来获取它。
我希望var2成为var1的修剪。
答案 0 :(得分:0)
据我所知,如果不改变原始字符串或将该字符串的修改版本复制到新来源,就无法做到这一点。
正如pm100所说,你可以找到指向该字符串中第一个空格实例的指针,然后从源指针和该指针获取距离以找到空白的索引。完成后,只需使用strncpy
将字符串的该部分复制到新指针。确保分配新指针和将终止字符' \ 0'最后。
另一种解决方案是简单地再次使用strchr,因为pm100说,但这次改变了指针指向' \ 0'。
答案 1 :(得分:0)
快速
var2 = strdup(var1);
char * idx = strchr(var2, ' ');
if(idx) *idx = 0;