C++将保存char、int 和double到txt文件中

 更新时间:2023年08月04日 11:20:05   作者:他人是一面镜子,保持谦虚的态度  
这篇文章主要介绍了C++如何将保存char、int 和double到txt文件中,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

C++保存char、int 和double到txt文件

定义文件保存的路径

FILE *ID_AZ_EL_file = fopen("/home/jht/VIns_Code/GVINS/output/ID_AZ_EL.txt", "w"); 

具体的程序

 int Sate_NUM = curr_obs[j]->sat;  
        char na_sys;
       if(sys == SYS_GPS)
         na_sys = 'A';   
       else if(sys == SYS_BDS)   
         na_sys = 'C';     
       else if(sys == SYS_GLO)   
         na_sys = 'R';
       else if(sys == SYS_GAL)   
         na_sys = 'E';
     //  char c_sate_num= (char) (sate_num+'0');
     //  strcat(na_sys,c_sate_num);
       double Azimuth    = Azel_11[0] * (180.0 / 3.14);
       double Elevation  = Azel_11[1] * (180.0 / 3.14);
    std::cout<<"=----------------Sate_NUM = "<<Sate_NUM<<std::endl;  
    std::cout<<"=----------------Azimuth = "<<Azimuth<<std::endl; 
    std::cout<<"=----------------Elevation = "<<Elevation<<std::endl; 
       if(i==10)  
       {
         fprintf (ID_AZ_EL_file, "%c%i  %3.0f  %3.0f\n",na_sys,Sate_NUM,Azimuth,Elevation); 
         //  fprintf (ID_AZ_EL_file, "%5.2f,%5.2f\n", Azimuth,Elevation); 
       }

C++中各种类型char、int、long、double等数据范围

概念、整型:表示整数、字符和布尔值的算术类型合称为整型(integral type)。

关于带符号与无符号类型:

  • 整型 int、stort  和  long 都默觉得带符号型。
  • 要获得无符号型则必须制定该类型为unsigned,比方unsigned long。

unsigned int类型能够简写为unsigned,也就是说,unsigned后不加其它类型说明符就意味着是unsigned int。

一字节表示八位,即:1byte = 8 bit;

int: 4byte =  32 bit

有符号signed范围:-2^31 ~ 2^31-1

  • 即:2147483647 ~ -2147483648
  • 无符号unsigned范围:0 ~ 2^32-1(4.29 * 10^9 = 4.29e+9)
  • 即:4294967295 ~ 0
  • long: 4 byte = 32 bit 同int型

long long:

  • 范围:-9223372036854775808 ~ 9223372036854775807(>10^18)

double: 8 byte = 64 bit

  • 范围:1.79769e+308 ~ 2.22507e-308

long double: 12 byte = 96 bit

  • 范围: 1.18973e+4932 ~ 3.3621e-4932

float: 4 byte = 32 bit

  • 范围: 3.40282e+038 ~ 1.17549e-038

int、unsigned、long、unsigned long 、double的数量级最大都仅仅能表示为10亿,即它们表示十进制的位数不超过10个,即能够保存全部9位整数。

而short仅仅是能表示5位;

另外对于浮点说而言:使用double类型基本上不会有错。

在float类型中隐式的精度损失是不能忽视的,二双精度计算的代价相对于单精度能够忽略。

其实,在有些机器上,double类型比float类型的计算要快得多。

float型仅仅能保证6位有效数字,而double型至少能够保证15位有效数字(小数点后的数位),long double型提供的精度通常没有必要,并且还要承担额外的执行代价。

double是8字节共64位,当中小数位占52位,2-^52=2.2204460492503130808472633361816e-16,量级为10^-16,故可以保证2^-15的全部精度。

在有些机器上,用long类型进行计算所付出的执行时代价远远高于用int类型进行相同计算的代价,所以算则类型前要先了解程序的细节而且比較long类型与int类型的实际执行时性能代价。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C++ 类的赋值运算符''''=''''重载的方法实现

    C++ 类的赋值运算符''''=''''重载的方法实现

    这篇文章主要介绍了C++ 类的赋值运算符'='重载的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • C++ Boost Conversion超详细讲解

    C++ Boost Conversion超详细讲解

    Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称
    2022-11-11
  • C语言实现俄罗斯方块源代码

    C语言实现俄罗斯方块源代码

    这篇文章主要为大家详细介绍了C语言实现俄罗斯方块的源代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • c++ vector 使用find查找指定元素方法

    c++ vector 使用find查找指定元素方法

    std::vector 是一个动态数组,用于存储同类型元素的序列,本文主要介绍了c++ vector 使用find查找指定元素方法,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • C++17文件系统库之std::filesystem 示例详解

    C++17文件系统库之std::filesystem 示例详解

    std::filesystem是C++17引入的一个强大且易用的文件系统操作库,它提供了跨平台的文件系统操作接口,简化了文件和目录操作的代码实现,本文给大家介绍C++17文件系统库之std::filesystem 示例详解,感兴趣的朋友一起看看吧
    2025-03-03
  • C/C++产生随机数函数简单介绍

    C/C++产生随机数函数简单介绍

    这篇文章主要为大家详细介绍了C/C++产生随机数函数的实现方法,如何使用C/C++产生随机数函数,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • C++实现LeetCode(92.倒置链表之二)

    C++实现LeetCode(92.倒置链表之二)

    这篇文章主要介绍了C++实现LeetCode(倒置链表之二),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C语言植物大战数据结构快速排序图文示例

    C语言植物大战数据结构快速排序图文示例

    这篇文章主要为大家介绍了C语言植物大战数据结构快速排序图文示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • VSCode与Keil联合开发STM32的流程

    VSCode与Keil联合开发STM32的流程

    这篇文章主要介绍了VSCode与Keil联合开发STM32的流程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 实例讲解C++编程中对设计模式中的原型模式的使用

    实例讲解C++编程中对设计模式中的原型模式的使用

    这篇文章主要介绍了C++编程中对设计模式中的原型模式的使用实例,包括原型模式中对C++的深拷贝和浅拷贝的处理,需要的朋友可以参考下
    2016-03-03

最新评论