怎样在子程序或函数未定义中定义一个能显示字符串smile!的函数,

后使用快捷导航没有帐号?
查看: 886|回复: 12
怎么用C程序提取一个数组中指定的一段字符?
在线时间113 小时
威望232 分
芯币339 枚
TA的帖子TA的资源
一粒金砂(高级), 积分 232, 距离下一级还需 268 积分
上图中红线划出来的是返回到我单片机RXBUF中的IP地址,我想就把ip提取出来,把前面的%DNSR不要,这个程序怎么写啊?
本帖子中包含更多资源
才可以下载或查看,没有帐号?
在线时间218 小时
威望278 分
芯币657 枚
TA的帖子TA的资源
解析啊,字符匹配,去掉不想要的,留下想要的就可以了。
我只有个大概思路,细节把握不准,编译起来都是错误,不知道从哪里下手改起,恳请高手赐教成熟程序&
在线时间113 小时
威望232 分
芯币339 枚
TA的帖子TA的资源
解析啊,字符匹配,去掉不想要的,留下想要的就可以了。
我只有个大概思路,细节把握不准,编译起来都是错误,不知道从哪里下手改起,恳请高手赐教成熟程序
有思路就把程序写出来,不要怕有错误,有错误把代码贴出来大家帮你找。一上来就直接要成熟代码,一个别人不一定有时间给你写,另外自己什么时候才能进步?&
在线时间218 小时
威望278 分
芯币657 枚
TA的帖子TA的资源
我只有个大概思路,细节把握不准,编译起来都是错误,不知道从哪里下手改起,恳请高手赐教成熟程序
有思路就把程序写出来,不要怕有错误,有错误把代码贴出来大家帮你找。一上来就直接要成熟代码,一个别人不一定有时间给你写,另外自己什么时候才能进步?
有点错误,修改下后:
uchar Get_ip(uchar *a)
uchar b[];
for(i=6;a!='\0';i++;
b[j++]=a-'0';
return b[j];
uchar Get_ip(uchar *a)
uchar b[];
for(i=6;a!='0';i++)
b[j++]=a-'0';
return b[j];
我对这个数组b[]没把握,而且虽然我可以把提取到的字符-'0'得到数,但是会影&
在线时间113 小时
威望232 分
芯币339 枚
TA的帖子TA的资源
有思路就把程序写出来,不要怕有错误,有错误把代码贴出来大家帮你找。一上来就直接要成熟代码,一个别人 ...
uchar Get_ip(uchar *a)
& &int i,j;
& &uchar b[];
& &for(i=6;a!='0';i++)
& &b[j++]=a-'0';
&&return b[j];
我对这个数组b[]没把握,而且虽然我可以把提取到的字符-'0'得到数,但是会影响到那个ip中的点,这怎么解决?
在线时间113 小时
威望232 分
芯币339 枚
TA的帖子TA的资源
上面那个for(i=6;a[i]!='\0';i++)
在线时间113 小时
威望232 分
芯币339 枚
TA的帖子TA的资源
有思路就把程序写出来,不要怕有错误,有错误把代码贴出来大家帮你找。一上来就直接要成熟代码,一个别人 ...
有点错误,修改下后:
uchar Get_ip(uchar *a)
& &int i,j;
& &uchar b[];
& &for(i=6;a!='\0';i++;
& &b[j++]=a-'0';
&&return b[j];
你的字符串格式是不是固定的,也就是说是不是一定按照你的红色的字符串的格式?如果是:首先你要先检测到 %DNSR:有这几个字符才能确定后面的是你所需要的IP。
另外你的数组定义方法:uchar b[]; 有问题,还是加上&
在线时间111 小时
芯币324 枚
TA的帖子TA的资源
a是红色标出来的那串字符指针,ip是你存储IP地址的指针,用于返回IP数据,数组要定义足够存储IP地址的最大长度LENGTH_IP_BUFFER=15,这样才能保证数据不越界。
不知道是不是你想要的。
void Get_ip(uchar *a,uchar *ip)
& &for(i=6;a[i]!='\0';i++)
& && & if(i-6&LENGTH_IP_BUFFER)
& && & if(a[i]=='.')
& && && &&&*ip='.';
& && & else
& && && && &*ip=a[i]-'0';
& && & ip++;
#pragma vector = UART0RX_VECTOR
__interrupt void UART0_RXISR(void)
RxBuf[RxPoint++]=RXBUF0;
//取出回显
我这个接收中断能不能接收到回显?&
我调用函数是这样:Get_ip(RxBuf,IP);
里面两个数组定义是这样的:
#define LENGTH_IP_BUFFER 15
uchar IP[LENGTH_IP_BUFFER]={0};
#define RxBuf_N 25
uchar RxBuf[RxBuf_N]={0};
这样对不对?
运行起来从&
在线时间218 小时
威望278 分
芯币657 枚
TA的帖子TA的资源
有点错误,修改下后:
uchar Get_ip(uchar *a)
你的字符串格式是不是固定的,也就是说是不是一定按照你的红色的字符串的格式?如果是:首先你要先检测到 %DNSR:有这几个字符才能确定后面的是你所需要的IP。
另外你的数组定义方法:uchar b[]; 有问题,还是加上数组长度吧
在线时间113 小时
威望232 分
芯币339 枚
TA的帖子TA的资源
a是红色标出来的那串字符指针,ip是你存储IP地址的指针,用于返回IP数据,数组要定义足够存储IP地址的最大 ...
我调用函数是这样:Get_ip(RxBuf,IP);
里面两个数组定义是这样的:
#define LENGTH_IP_BUFFER 15
uchar IP[LENGTH_IP_BUFFER]={0};
#define RxBuf_N 25
uchar RxBuf[RxBuf_N]={0};
这样对不对?
运行起来从串口看好像没有获取到IP..........
在线时间113 小时
威望232 分
芯币339 枚
TA的帖子TA的资源
a是红色标出来的那串字符指针,ip是你存储IP地址的指针,用于返回IP数据,数组要定义足够存储IP地址的最大 ...
#pragma vector = UART0RX_VECTOR
__interrupt void UART0_RXISR(void)
&&RxBuf[RxPoint++]=RXBUF0;&&//取出回显& &
我这个接收中断能不能接收到回显?
在线时间111 小时
芯币324 枚
TA的帖子TA的资源
如armcu所说,可以在函数中判断一下 %DNSR:作为确认,也可以在外部判断。
你首先得看是否有串口数据发送出来,然后再看你的接送是否正确了,不正确就要从最底层调起了。
在线时间37 小时
TA的帖子TA的资源
你返回一个临时指针,在函数结束的时候中间变量会被释放,你什么都获取不到。
如果你数据会改变,如上面几位所说,你可以寻找%DNSR:,或者找到“:”,去取后面的IP,不知道对你有没有帮助
Powered by
逛了这许久,何不进去瞧瞧?新菜请教一道题。。。_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:312,049贴子:
新菜请教一道题。。。收藏
cpp第二章编程练习,第6题,编写一个能够产生下列输出的程序;
smile!smile!smile!smile!smile!smile!在程序中定义一个能显示字符串smile!一次的函数,并在需要时使用该函数。疑问:新定义一个函数只显示smile!一次,不知道该怎么换行,我想在定义的函数内用\n但是觉得好像又不行,手边暂时没电脑,特来请教吧友们。。。爪机无力。
int maim(void)void hanshu(void){hanshu();}void hanshu(void){printf("smile!");}
新菜努力学习中。。。
for(int i = 1; i & N; ++i)````for(int j = 0; j & ++j)````````smile();
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或c primer plus编程习题答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
c primer plus编程习题答案
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢急!!在线等!!!求助:程序改错:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输入其长度_百度知道
急!!在线等!!!求助:程序改错:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输入其长度
**********FOUND**********/main(){
while(*p=='stdio.&**********FOUND**********/
char *str[20].h&quot,求一个字符串的长度:\
n=0&#47,str);
/n&#include &
/0'**********FOUND**********/\
p++;p*------------------------------------------------------
【程序改错】--------------------------------------------------------功能;}int length(char *p){
scanf(&quot,并输出其长度,len);。------------------------------------------------------*&#47:写一个函数;
len==length(str);the string has %;),在main函数中输入字
提问者采纳
n&**********FOUND**********/ /int length(char *p)!='; while(*p;**********FOUND**********&#47.h&quot,求一个字符串的长度;p &#47&#47,str);the string has % &#47:\#include &main(){ 0' len=length(str);\ char str[20];
p++; printf(&*------------------------------------------------------
【程序改错】--------------------------------------------------------功能; n=0; scanf(&quot,并输出其长度;}int length(char *p){ int n,len)。------------------------------------------------------*&#47:写一个函数; } ) {
n++;%s&**********FOUND**********/ printf(&quot.&;),在main函数中输入字
提问者评价
来自团队:
其他类似问题
为您推荐:
其他3条回答
len==length(str):\**********FOUND**********&#47#include &p采用scanf则输入时字符串中不能包含空格
char *str[20];
/**********FOUND**********&#47,str);%s&}int length(char *p){
printf(&n&/**********FOUND**********/);
}the string has %
printf(&&#92.&.h&quot,len);这里出错
n++!=')&#47
#include&stdio.h&int length(char p[]);void main(){
/**********FOUND**********/
char str[20];
printf(&please input a string:\n&);
scanf(&%s&,str);
/**********FOUND**********/
len=length(str);
printf(&the string has %d characters.&,len);}int length(char p[]){
/**********FOUND**********/
while(p[n]!='\0')
n++;}自己对照看一下,你没有函数声明
#include &stdio.h&int length(char *p);//第一关错误没函数声明main(){
/**********FOUND**********/
char *str[20];//第二个错误,这里定义指针数组char str[20];没*号
printf(&please input a string:\n&);
scanf(&%s&,str);
/**********FOUND**********/
len==length(str);//第三个错误,这里应该是赋值语句len=length(str);/
printf(&the string has %d characters.&,len);}int length(char *p){
/**********FOUND**********/
while(*p=='\0')//第四个错误while(*p!='\0')//
main函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c语言字符串函数 的文章

 

随机推荐