例如,我想将整个代码块输入到命令中:
int k = 0;
for (k = 0; k < 50; k++)
{
sprintf(buf, "M LR 10 -10\n"); //We put the string "M L 10" into the string buffer.
write(sock, buf, strlen(buf)); //We send the buffer into the socket.
memset(buf, 0, 80); //Clear the buffer, set buffer to value 0.
read(sock, buf, 80); //Read from the socket to get the results.
int lme, rme;
sprintf(buf, "S MELR\n"); //sensor command to find ME values
write(sock, buf, strlen(buf)); //sends the buffer to the socket
memset(buf, 0, 80); //Clear the buffer, set buffer to value 0.
read(sock, buf, 80); //read from socket to get results.
sscanf(buf, "S MELR %i %i\n", &lme, &rme); //takes lme and rme values from results
printf(buf, "%3i %-4i\n", lme, rme);
//distance = 2 * (22/7) * r
}
for (k = 50; k < 51; k++)
{
sprintf(buf, "C RME\n"); //We put the string "C RME" into the string buffer to reset.
write(sock, buf, strlen(buf)); //We send the buffer into the socket.
memset(buf, 0, 80); //Clear the buffer, set buffer to value 0.
read(sock, buf, 80); //Read from the socket to get the results.
}
这使我能够仅更改{sprintf(buf, "M LR 10 -10\n");}
ie 10
and中字符串的值-10
,其余过程将自行执行:
比如set_motor_speed(10 -10\n)
在主代码中会执行整个函数,怎么做呢?