问::

dycdyc123 2001-07-28 09:12:34
1:[C++ Warning] Main.cpp(140): W8030 Temporary used for parameter 'Str' in call to '_fastcall TCustomComPort::ReadStr(AnsiString &,int)'
是什么意思???
2:ComPort1->ReadStr(char *read,int); 其中的Read 为读取外设的关键字;
而后直接ComPort1->ReadStr(...) ,这样能读到指定的数据吗???
...全文
116 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
seahorse 2001-07-29
  • 打赏
  • 举报
回复
AnisString 是CB自己封装的一个处理字符串的类,就象VC中的CString,具有自己的成员方法
char* 说白了,就是一个四字节的东东,存放一个地址,字符指针嘛!一般操作用strcpy,strcmp,stricmp,strcat.......
但可以肯定的就是,AnsiString的实现过程中,可顶用到了char*.

ReadStr(char *read,int); 的调用过程中,你应该先申请一个char a[20](注意这里不能时char* ,如果使用char* ,则需要malloc空间,这是因为C的函数是值传递,ReadStr函数即使对参数分配空间也传不出来)

ReadStr(a,int);
AnsiString aaa = AnsiString(a);
dycdyc123 2001-07-29
  • 打赏
  • 举报
回复
Up
dycdyc123 2001-07-29
  • 打赏
  • 举报
回复
Up

怪!!!!!
dycdyc123 2001-07-29
  • 打赏
  • 举报
回复
AnsiString和char *是不同,有什么不同?????
用ComPort1->WriteStr(AnsiString Str,int count)时;
我用ComPort1->WriteStr(*buffer,int)能成功呀?????


但ComPort1->ReadStr(AnisString Str,int Count)时,
用char * 代替str时出现W.............................
jixian 2001-07-29
  • 打赏
  • 举报
回复
QQ
xrbeck 2001-07-29
  • 打赏
  • 举报
回复
哦。AnsiString和char *是不同的。。
wjzhuang 2001-07-29
  • 打赏
  • 举报
回复
我想ansistring应该也是基于char *或者char[]来处理的
我有一个string的类(c++)
你看看
http://www.csdn.net/expert/topic/118/118132.shtm
dycdyc123 2001-07-28
  • 打赏
  • 举报
回复
OK!
3ks
GO on 2!
ddeng 2001-07-28
  • 打赏
  • 举报
回复
AnsiString Str;
ComPort1->ReadStr(Str, ...);
下面要取读到的字符串的char *的话,就用Str.c_str()吧。
ddeng 2001-07-28
  • 打赏
  • 举报
回复
ReadStr的第一个参数是引用调用,你却传了个char *给它。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧