新手初次编写,如有错误请多指正。
在做硬件远程控制时,一般都会需要在包的末尾加一个回车符来判断命令发送完成。
而用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为所读取数据的文件;