早教吧作业答案频道 -->其他-->
用c编写一个程序,总是出错,请大家帮忙看下哪里有错误?#include#include#include#include#includeintmain(){intfd;if((fd=serialOpen("/dev/ttyAMA0",115200))<0){fprintf(stderr,"Unabletoopenserialdevice:%s\n",strerror(
题目详情
用c编写一个程序,总是出错,请大家帮忙看下哪里有错误?
#include
#include
#include
#include
#include
int main()
{
int fd ;
if ((fd = serialOpen ("/dev/ttyAMA0",115200)) < 0)
{
fprintf (stderr,"Unable to open serial device:%s\n",strerror (errno)) ;
return 1 ;
}
char str[] = serialGetchar();
int len=strlen(str);
char buf[100];
int a[4];
int i = 0;
while ( str[i] = '\0' )
{
if (isdigit(str[i]))
buf[i] = str[i];
else buf[i] = ' ';
++i;
}
buf[i] = '\0';
sscanf (buf,"%d %d %d %d",&a[0],&a[1],&a[2],&a[3]);
printf ("%d %d %d %d\n",a[0],a[1],a[2],a[3]);
return 0;
}
背景是这样的,蓝牙发送一串字符给单片机,例如g90s80x70y60,我想把数字分割出来,分别付给一个变量.
#include
#include
#include
#include
#include
int main()
{
int fd ;
if ((fd = serialOpen ("/dev/ttyAMA0",115200)) < 0)
{
fprintf (stderr,"Unable to open serial device:%s\n",strerror (errno)) ;
return 1 ;
}
char str[] = serialGetchar();
int len=strlen(str);
char buf[100];
int a[4];
int i = 0;
while ( str[i] = '\0' )
{
if (isdigit(str[i]))
buf[i] = str[i];
else buf[i] = ' ';
++i;
}
buf[i] = '\0';
sscanf (buf,"%d %d %d %d",&a[0],&a[1],&a[2],&a[3]);
printf ("%d %d %d %d\n",a[0],a[1],a[2],a[3]);
return 0;
}
背景是这样的,蓝牙发送一串字符给单片机,例如g90s80x70y60,我想把数字分割出来,分别付给一个变量.
▼优质解答
答案和解析
char str[] = serialGetchar(); //这句改成以下:
char str[128];
strcpy( str,serialGetchar() );
另:你的fd没有用到啊,是不是在serialGetchar()函数中应用?没有函数说明,不能确定
char str[128];
strcpy( str,serialGetchar() );
另:你的fd没有用到啊,是不是在serialGetchar()函数中应用?没有函数说明,不能确定
看了用c编写一个程序,总是出错,请...的网友还看了以下:
有一只有0~0.6A和0~有一只有0~0.6A和0~3A两个量程的电流表,实验中用的是0~0.6A 2020-04-09 …
已知关于X的方程A剩《2X减1》=3X减2无解求A的值AX=A当A大于等于0时方程唯一的解X等于A 2020-05-16 …
电流表G1的量程为0~5mA,内阻r=290Ω,把它改装成如图所示的一个多量程多用电表,电流、电压 2020-07-12 …
解方程x的平方-x的绝对值-2=0。解:(1)当x大于等于0时,原方程化为x的平方-x-2=0.解 2020-07-20 …
以下说法正确是()A.路程为0时位移一定为0;位移为0,路程不一定为0B.速度大小不变的物体,其加 2020-08-03 …
测一个大小为6N的力时,应选用最适当规格的弹簧测力计是()A.量程为10N,分度值为0.2NB.量程 2020-11-24 …
若方程AX=0中,方程个数大于未知量的个数,则有A.AX=0一定有解B.AX=0一定无解C.AX=0 2020-11-27 …
1.在实验室,有同学发现一个电流表有两个量程,大量程是0-9A,小量程模糊不清.为了测量小量程是多少 2020-12-05 …
一个电流表的电阻Ra为0.18欧母,最大量程为10A,刻度盘分为100个刻度.请写出过程,感激不尽一 2020-12-18 …
1.设关于x的实系数一元二次方程ax^2+bx+c=0(a不等于0)(1)方程的一个根比3大,另一个 2020-12-31 …