暴简单系列之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);
}

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

谢谢.

...全文
38 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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

1.3w+

社区成员

C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
帖子事件
创建了帖子
2003-11-11 04:50
社区公告
暂无公告