问一个简单的MFC问题,vc6.0

love_codecsde 2010-07-27 02:49:21
如何通过CFile的函数向文件写入一个double型的数据(这个数据是一个double的变量)? 我知道的是将double型转换为Cstring类,然后再写入,但我不知怎么转换,请朋友们帮帮忙!!!
...全文
148 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
austin_minny 2010-07-28
  • 打赏
  • 举报
回复
以二进制文件的形式用CFile打开文件,然后直接写入double变量
dvlinker 2010-07-27
  • 打赏
  • 举报
回复
呵呵~平均分就可以了
lyserver 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 love_codecsde 的回复:]
二楼的华仔,好像你给的答案不对哦。。。。。。。。。。。。
[/Quote]
我写的是SDK代码。
xuggzu 2010-07-27
  • 打赏
  • 举报
回复
CString s;
double d=1.02365;
s.format(_T("%f"),d);

另,发错板块了!
love_codecsde 2010-07-27
  • 打赏
  • 举报
回复
二楼的华仔,好像你给的答案不对哦。。。。。。。。。。。。
love_codecsde 2010-07-27
  • 打赏
  • 举报
回复
问题解决了,你们对我都有帮助,分怎么给呢??????
我也不知道,问问你们的意见!!!!!!!!!!!!!!!!!!!!!
lyserver 2010-07-27
  • 打赏
  • 举报
回复
char szBuffer[100];
wsprintf(szBuffer,"%f",dblValue);
jhone99 2010-07-27
  • 打赏
  • 举报
回复
发错版了

管理菜单——〉移动——〉
Eleven 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 love_codecsde 的回复:]
如何通过CFile的函数向文件写入一个double型的数据(这个数据是一个double的变量)? 我知道的是将double型转换为Cstring类,然后再写入,但我不知怎么转换,请朋友们帮帮忙!!!
[/Quote]

CString strText(_T(""));
double num = 12.3456789;
strText.Format(_T("%lf"), num);
try
{
CStdioFile file;
file.Open(_T("F:\\11.txt"), CFile::modeCreate|CFile::modeWrite);
file.WriteString(strText);
file.Close();
}
catch (CFileException* e)
{
e->ReportError();
e->Delete();
}
love_codecsde 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 peterdan 的回复:]
CString mystr;
double num=12.34;
mystr.Format("%f",num);
[/Quote]

CString strValue = _T("");
strValue.Format("%f", dValue);
hFile.Write(strValue, strValue.GetLenth());
问题基本解决,但这个_T是什么意思? 还有几是怎么控制 浮点数的小数点位数,按照你这样输出默认的6位,
请说一下。。
dvlinker 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lyserver 的回复:]

char szBuffer[100];
wsprintf(szBuffer,"%f",dblValue);
[/Quote]呵呵~略为修改一下:

TCHAR szBuffer[100];
_stprintf_s(szBuffer,_T("%f"),dblValue);
luodx1021 2010-07-27
  • 打赏
  • 举报
回复
你是不是想要完整的代码啊?
如果是的,我给你写几句:
CFile hFile;
double fValue = 3.1415926;
CString strFilePath = _T("C:\\Test.txt");
if (!hFile.Open(strFilePath, CFile::modeWrite|CFile::modeCreate))
{
printf("Create File Failed, FileName = %s\n", strFilePath);
}
else
{
CString strValue = _T("");
strValue.Format("%f", dValue);
hFile.Write(strValue, strValue.GetLenth());
}

hFile.Close();
苏克贝塔03 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 luodx1021 的回复:]
二楼华仔的代码当然没有错,他只是告诉你,你可以将 DOUBLE 转换为字符串。
至于你还要通过CFile写入到文件中,那你就自己写几行代码,先调用CFile的Open函数打开文件,然后再调用CFile的Write函数,将刚才华仔转换后的字符串写入到文件中,然后再调用CFile的Close函数关闭文件即可。
[/Quote]
。。。
peterdan 2010-07-27
  • 打赏
  • 举报
回复
CString mystr;
double num=12.34;
mystr.Format("%f",num);
luodx1021 2010-07-27
  • 打赏
  • 举报
回复
二楼华仔的代码当然没有错,他只是告诉你,你可以将 DOUBLE 转换为字符串。
至于你还要通过CFile写入到文件中,那你就自己写几行代码,先调用CFile的Open函数打开文件,然后再调用CFile的Write函数,将刚才华仔转换后的字符串写入到文件中,然后再调用CFile的Close函数关闭文件即可。
love_codecsde 2010-07-27
  • 打赏
  • 举报
回复
我已转移了帖子,有人帮忙么???

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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