极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10069|回复: 3

如何正确读取char* (指针) ,转成String?

[复制链接]
发表于 2013-12-20 13:30:42 | 显示全部楼层 |阅读模式
本帖最后由 ttsmarco 于 2013-12-21 01:48 编辑

想利用ENC28J60让电脑传送资料给arduino (例如时间)

像是
char* time = strstr((char *)Ethernet::buffer + pos, "?SetTime=");
此时time是指针,希望得到String的格式

试过很多方法,虽然能正常抓出字串,但似乎都会造成单片机内存异常

所以来问下,请大家帮帮忙
回复

使用道具 举报

发表于 2013-12-20 14:21:38 | 显示全部楼层
试试 printf ? 可以参考一下
http://playground.arduino.cc/Main/Printf
回复 支持 反对

使用道具 举报

发表于 2013-12-20 17:38:26 | 显示全部楼层
String sTime = String(time);

String对象如何构造可以参照这里
http://arduino.cc/en/Tutorial/StringConstructors
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-21 01:46:39 | 显示全部楼层
感谢两位大师指点

不过后来误打误撞的状况下,发现原来是内存不够了..
把Ethernet::buffer[700]改Ethernet::buffer[500]
原本不正常的代码就都能正确运行了!

真是费了好大功夫找这只虫子..
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-6 17:47 , Processed in 0.035752 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表