• 主页
  • Windows SDK/API
  • 基础类
  • ActiveX
  • 数据库及相关技术
  • 网络及通讯开发
  • VCL组件使用和开发

暴简单系列之15:我想用文件来存储我的计算结果,这个数据类型变换!?没搞定

com235 2003-11-11 04:50:40
for(i=0;i<3.1415926;i+=pi/1024){
f1 = 1024*sin(i);
FileWrite(iFileHandle, FloatToStr(f1).c_str(),5);
FileWrite(iFileHandle, ",",1);
}

谢谢,就是生成一张表,给单片机程序用!

谢谢.

...全文
10 点赞 收藏 5
写回复
5 条回复
swites 2003年11月12日
gz!
回复 点赞
ljianq 2003年11月12日
应该直接写Double数据,读取的时侯也按照Double的类型读取;

这样的文件比你写字符要小的多,而且读取的时侯不容易错。
回复 点赞
yjy1001 2003年11月12日
按 Libran() 的写法写……
在for外加两句
FileWrite(iFileHandle, " 0",5);
FileWrite(iFileHandle, ",",1);

//for 修改为
for(i=pi/1024;i<3.1415926;i+=pi/1024){//不从 0 开始循环
f1 = 1024*sin(i);
FileWrite(iFileHandle, FloatToStr(f1).c_str(),5);
FileWrite(iFileHandle, ",",1);
}
回复 点赞
Libran 2003年11月11日
你是只要保存前5位:
FileWrite(iFileHandle, FloatToStr(f1).SubString(1,5).c_str(),5);
除了第一个“0”,以为它原本就不足5位,手工处理一下吧
回复 点赞
natasha 2003年11月11日
TMemoryStream *Stream = new TMemoryStream();
double i, f1;
for(i=0;i<3.1415926;i+=pi/1024)
{
f1 = 1024*sin(i);
Stream->Write(&f1, sizeof(double);
}
Stream->SaveToFile(/*FileName*/);
delete Stream;
回复 点赞
发动态
发帖子
C++ Builder
创建于2007-08-02

2564

社区成员

10.2w+

社区内容

C++ Builder相关内容讨论区
社区公告
暂无公告