社区
C++ Builder
帖子详情
TStringList 和 double型数据的转换
lanren_me
2002-12-17 02:06:46
想把TStringList * lt中的数据倒到double *wk中;
memcpy(nk,lt,sizeof(double)*100); 可以运行,但是都是乱码.
问:不用循环语句有没有别的办法把数据相传递.....????????????
...全文
61
16
打赏
收藏
TStringList 和 double型数据的转换
想把TStringList * lt中的数据倒到double *wk中; memcpy(nk,lt,sizeof(double)*100); 可以运行,但是都是乱码. 问:不用循环语句有没有别的办法把数据相传递.....????????????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lanren_me
2002-12-20
打赏
举报
回复
算啦,就用循环吧,虽然这是苯方法...
woainihaha
2002-12-19
打赏
举报
回复
呵呵,使用TStringList添加的Double数据在存放的过程中自动转换为AnsiString了.如果需要取数据的话需要转换,所以无可避免的需要用循环.正如楼上的各位老大所说的,要么用TStream,这样存放的时候和读取的时候可以直接一点.我给你一点建议:1使用动态数组,来存储你原来存放在TStringList里的数据.然后操作就很方便了.2如果数据个数不定,而且需要使用下标操作,要么使用STL,要么使用TList.
copy_paste
2002-12-18
打赏
举报
回复
格式是怎么样的?
既然导入到TMemoryStream中了,为什么还要又导入TStringList中了,浪费。
比如说你的Memo字段的格式都是double连一个double的,导入MemoryStream后是:
TMemoryStream *Stream ....
double *p = (double*)Stream->Memory;
得到首地址后,通过Move, memcpy, strcpy之类的函数将它copy到一个数组中或内存,或者直接使用*p不就完了?
lanren_me
2002-12-18
打赏
举报
回复
我用TMemoryStream* pms从数据库Memo字段读取一系列double的数据;
然后用TStringList加载pms;这时我想把TStringList 中的数据倒到double *
咳,如果使用循环那肯定很容易,但是我不想用这个方法。
因为我的数据量很大...
lanren_me
2002-12-18
打赏
举报
回复
楼上:我就是不想用循环语句啊.
yujui
2002-12-18
打赏
举报
回复
不知这样可不可行...
for(int i=0;i<lt->Count;i++)
*(wk+i)=StrToFloat(lt->Strings[i]);
beanbar
2002-12-18
打赏
举报
回复
循环跟数据量大有什么关系吗?
如果你觉得数据量大,那么你为什么又要放到一个double的地址里面去?
如果不用循环,你怎么去访问这些数据?
不懂你想要干什么,如果你为了考虑节约内存,你选择TStringList本身就是个错误,循环是简单的,而且是不可少的,为什么不用呢?
copy_paste
2002-12-17
打赏
举报
回复
你是怎么存放double数据,
你不应该用TStringList来存放它,你用它里面的什么值属性保存的?
beanbar
2002-12-17
打赏
举报
回复
为了缩短开发时间,并且在牺牲机器的速度和内存的情况下
TStringList可以作为一个对象容器,可以存放字符串和相关的对象。
你的问题这样行不行
for(int i=0;i<lt->Count;i++)
{
TObject* AObj=lt->Object[i];
wk+i=dynamic_cast<double*>(AObj);
}
lanren_me
2002-12-17
打赏
举报
回复
不会吧,我的TStringList结构中存放的都是double 的数据;
RedProgramer
2002-12-17
打赏
举报
回复
TStringList结构与double根本不能通用,不可能直接进行内存操作
lanren_me
2002-12-17
打赏
举报
回复
上楼::如果数据量很大>10万,这时使用的时间是很长的.实际上我的数据量可能还要大~
lanren_me
2002-12-17
打赏
举报
回复
上楼::如果数据量很大>10万,这时使用的时间是很长的.
invalid
2002-12-17
打赏
举报
回复
没有,或者不值得吧。执行循环是计算机的强项。
binbin
2002-12-17
打赏
举报
回复
况且还有数据类型的问题呢.
binbin
2002-12-17
打赏
举报
回复
TStringList不是一个数组啊,内存结构不一样怎么倒???
俺要学习学习.
Delphi中将T
String
List
转换
为Array的方法
在 Delphi 中,你可以使用 T
String
List
类的 ToArray 方法将 T
String
List
对象
转换
为字符串数组。 例如: var
string
List
: T
String
List
;
string
Array: TArray<
String
>; begin
string
List
:= T
String
List
....
数据
集与JSON对象互相
转换
因此,必须建立JSON与TDataSet之间的互转关系,实现
数据
之间通讯与
转换
。值得注意的是,这只是普通的TDataset与JSON之间
转换
,由于CDS包含了Delta
数据
包,其
数据
格式远比普通的TDataset更复杂。
数据
集字段信息,是...
Delphi中JSon SuperObject 使用:
数据
集与JSON对象互转
因此,必须建立JSON与TDataSet之间的互转关系,实现
数据
之间通讯与
转换
。值得注意的是,这只是普通的TDataset与JSON之间
转换
,由于CDS包含了Delta
数据
包,其
数据
格式远比普通的TDataset更复杂。
数据
集字段信息,是...
JSon SuperObject 研究2:
数据
集与JSON对象互转
因此,必须建立JSON与TDataSet之间的互转关系,实现
数据
之间通讯与
转换
。值得注意的是,这只是普通的TDataset与JSON之间
转换
,由于CDS包含了Delta
数据
包,其
数据
格式远比普通的TDataset更复杂。下面的程序,或许你有...
\t\tJSon SuperObject 研究2:
数据
集与JSON对象互转
因此,必须建立JSON与TDataSet之间的互转关系,实现
数据
之间通讯与
转换
。值得注意的是,这只是普通的TDataset与JSON之间
转换
,由于CDS包含了Delta
数据
包,其
数据
格式远比普通的TDataset更复杂。下面的程序,或许你有...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章