我在rmsg
变量中收到一条消息。如果缓冲区中的第一个字符是“1”,我想删除这个字符并发送消息的其余部分。
有什么办法可以这样做吗:
if(rmsg[0]=='1')
//remove the first character in rmsg
strncpy(newbuf,rmsg,rmsglen)
如果这不是正确的方向,有人能告诉我怎么做吗?
最佳答案
我想这正是你在这种情况下想要达到的目标:
if (rmsg[0] == '1')
memmove(rmsg, rmsg+1, strlen(rmsg));
在这里,在使用了我在上面发布的
memmove()
函数之后,您的rmsg
字符串将包含它以前的内容,而不带第一个字符(即=='1'),所以现在您可以轻松地将它发送到任何您想要的地方。现场演示:http://ideone.com/1dJjAn
有关
memmove()
函数的详细信息:http://www.cplusplus.com/reference/cstring/memmove/