gpt4 book ai didi

c++ - 将 double 类型的值写入文本文件

转载 作者:可可西里 更新时间:2023-11-01 14:53:45 25 4
gpt4 key购买 nike

下面的代码将不可读的字符写入文本文件:

int main () 
{
ofstream myfile ("example.txt");

if (myfile.is_open())
{
double value = 11.23444556;
char *conversion = (char *)&value;
strcat (conversion, "\0");

myfile.write (conversion, strlen (conversion));
myfile.close();
}

return 0;
}

我想查看文件中写入的实际数字 :( 请提示。

编辑看到下面的答案,我将代码修改为:

int main () 
{
ofstream myfile ("example.txt");

if (myfile.is_open())
{
double value = 11.23444556;

myfile << value;
myfile.close();
}

return 0;
}

这会产生输出:11.2344,而实际数字是 11.23444556。我想要完整的号码。

编辑帖子以通知所有人:不可读的字符是由于 ofstream 的写入功能:

This is an unformatted output function

此引述来自:http://www.cplusplus.com/reference/iostream/ostream/write/

最佳答案

你为什么不简单地这样做(问题编辑后更新的答案):

 #include <iomanip>

myfile << std::fixed << std::setprecision(8) << value;
myfile.close();

现在,您可以看到文件中写入的实际数字。

请参阅 std::setprecision 的文档.注意:您必须包括 <iomanip>头文件。

关于c++ - 将 double 类型的值写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6226210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com