新手初次编写,如有错误请多指正。
在做硬件远程控制时,一般都会需要在包的末尾加一个回车符来判断命令发送完成。
而用scanf输入到buff的时候会遇到按下回车,输入就结束了。
曾试过多种方法,始终无法在发送的数据里加入空格符。
现在偶然发现一个很方便的办法,即将scanf()函数改为fgets()函数输入。这样你所输入时按下回车键,即会退出输入,也会将回车符录入到包里。
原:scanf(“%s”,buff);
换为:fgets(buff,7,stdin);
原函数为:char *fgets(char *s,int n,FILE *stream);
s为缓冲区
n为输入字符个数不得超过(n-1)个;因为这里默认缓存去的最后一个字符为NULL;
stream为所读取数据的文件;
本文介绍了一种在硬件远程控制中,使用fgets函数替代scanf函数的方法,以实现将回车符作为命令结束标志的功能。通过这一改进,可以更方便地处理包含回车符的命令字符串。
1122

被折叠的 条评论
为什么被折叠?



