比方说,我想将整个代码块输入一个命令:
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.
}
Run Code Online (Sandbox Code Playgroud)
这使我只是改变的字符串的值{sprintf(buf, "M LR 10 -10\n");},即10和-10,而该过程将通过自身开展的其余部分:
例如,set_motor_speed(10 -10\n)在主代码中会执行整个功能,怎么做呢?
正如其他人所说:你可以在C语言书中读到这类事情,但是嘿,我们很好:
set_motor_speed(int a, int b) {
...
for(k = 0; k < 50; k++) {
sprintf(buf, "M LR %i %i\n", a, b);
...
}
...
}
set_motor_speed(10, -10);
set_motor_speed(5, -5);
Run Code Online (Sandbox Code Playgroud)