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

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

谢谢.

...全文
63 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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;

13,825

社区成员

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

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