C float型,写进txt文本文件,存储形式?

来源:百度知道 编辑:UC知道 时间:2024/05/28 12:12:31
例如,将float i=123.5写入txt文件,则txt文件中显示123.5,在硬盘中,123.5是以二进制形式存储的,还是以字符形式存储,或者以整形存储?
如果,我新建一个txt文件,用键盘敲进去123.5,它的存储形式是字符串吗?还是实数123.5?
如果我随便打开了一个txt文件,看到上面有数字123.5,我怎么判断它到底是字符串还是实数?
如果用fread函数读取123.5的时候,会发生什么情况?
请高手详解,谢谢!
如果文本文件中有数字12.5,然后紧跟着一个字符串656,文本文件中存储
12.5656,我要读数字12.5,这样是否没法读取呢?

当然有办法读取,方法有很多!
例如:

文件内容是12.5656,你要读取一个float数字12.5:

FILE *fp=fopen("a.txt","r");
float b;
char ch[10];
fscanf(fp,"%4s",ch);
sscanf(ch,"%f",&b);
printf("%f",b);

*********************************************************
将float i=123.5写入txt文件,则txt文件中显示123.5,在硬盘中,123.5是以对应字符ASCII码的二进制形式存储的

我新建一个txt文件,用键盘敲进去123.5,它的存储形式是字符串

txt文件中保存的文字都是以字符串形式存储的。

如果想用fread函数读出123.5,那么要用字符数组去读取,并且用sizeof(char)

//实验:在文本中直接输入:123.5 123.5(2个相同)
#include <iostream>
#include <fstream>
using namespace std;
//------------------------------------------------------------------------------
int main()
{
ifstream fin("1.txt");
float i=0;
char ch[10]="";
fin>>i;//以不同形式读入
fin>>ch;
cout<<i<<endl<<ch;
system(&