首页 > 编程语言 >C/C++开发问题总结

C/C++开发问题总结

时间:2024-03-20 11:56:00浏览次数:239  
标签:总结 index 00 Windows unsigned long 开发 C++ size

1.结构体sizeof问题

Linux支持指定结构体比特字段,Windows不支持指定结构体比特字段

struct index {
    long long start = 0;
    long long end = 0;
    unsigned long long ix = 0;
    short segment = 0;
    unsigned short t : 2;
    unsigned long long seq : (64 - 18);  // pack with segment and t to stay in 32 bytes

    index()
        : t(0),
          seq(0) {
    }
};

long long index_size = sizeof( index );

Linux下index_size值为32,Windows下index_size值为40

参考:https://blog.csdn.net/weixin_42365422/article/details/117242430


2.fwrite写如0X0A时自动添加0X0D

Linux没有此问题,Windows()会有此问题

如果我们查看十六进制时,会发现 `0D,0A ,00,00,00`莫名奇妙的多了一个`0D`。

原因是fwrite 在以文本方式写文件时,碰到`0X0A`,会自动在前面加上`0X0D`,以够成回车换行符。


FILE *fp = fopen("1.txt","w+");


改为

FILE *fp = fopen("1.txt","w+b");

参考:https://blog.csdn.net/shen_001/article/details/8750748

标签:总结,index,00,Windows,unsigned,long,开发,C++,size
From: https://www.cnblogs.com/gispathfinder/p/18084913

相关文章

  • 多模态大模型论文总结
    A survey of resource-efficient llm and multimodal foundation models大型基础模型,包括大型语言模型(LLM)、视觉变压器(ViT)、扩散和基于LLM的多模态模型,正在彻底改变从培训到部署的整个机器学习生命周期。然而,这些模型在多功能性和性能方面的实质性进步在硬件资源......
  • C++ 函数重载
    一组函数,函数名相同。函数的参数类型或参数个数不同,那么这一组函数就称作函数重载。C++为什么支持函数重载?C++代码产生函数符号的时候,是由函数名+参数列表组成的;C代码产生函数符号的时候,是由函数名来决定;函数重载需要注意什么?一组函数如果是重载函数,一定是处于同一作用......
  • 界面开发框架DevExpress XAF v24.1新版预告 - 跨平台应用UI(三)
    DevExpressXAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。XAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。本文中的内容概述了XAF跨平台.NET应用UI和DevExpress.NETApp、WebAPI服......
  • C++ 泛型编程
    1.函数模板假设我们设计一个交换两个整型变量的值的函数,代码如下://交换两个整型变量的值的Swap函数:voidSwap(int&x,int&y){inttmp=x;x=y;y=tmp;}如果是浮点类型的变量的值交换,则替换int类型为double即可,代码如下://交换两个double型变量......
  • C++ Qt开发:QUdpSocket实现组播通信
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QUdpSocket组件实现基于UDP的组播通信。组播是一种一对多的通信方式,允许一个发送者将数......
  • fyne - 谁说用Go不能开发应用界面
    fyne项目介绍fyne是一个纯Golang的跨平台GUI库,跨平台库说实话,是有很多选择的,Flutter、Electron、QT等。fyne绝对不是一个很大众的选择。但是在我,一名后端程序员尝试使用Electron实现一个简单的番茄时钟,痛苦地在使用js如何在渲染进程和主进程之间传递信息,如何在客户端退......
  • 3.20每日总结
    1.5.1      需求层次-方面矩阵使用二维需求矩阵来判断需求是否全面。这个是目前我见到的最具可操作性的方法。一方面,需求是分层次的,根据涉众的不同,可将需求分为三个客户级需求(也称组织级需求)、用户级需求和开发级需求;另一方面,需求可分为功能、质量和约束三个方面。通过检......
  • 今日总结
    软件体系架构课堂测试–架构分析 班级:信2105-3   学号:20214005     姓名:赵悦恒阅读下列案例,回答相关问题:某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。她每周都收到一份过期未付款的账户名单。这份报告已经从两年前的250个账户增加到现在的1250个账户。......
  • 第四章总结(页面组件)
    4.1组件的定义及属性   组件是页面视图层(WXML)的基本组成单元,组件组合可以构建功能强大的页面结构。小程序框架为开发者提供了容器视图、基础内容、表单、导航、多媒体、地图、画布、开放能力等8类(30多个)基础组件。   每一个组件都由一对标签组成,有开......
  • C++ string和const char*
    两种方式的函数声明如下:voidfunc(constchar*s);voidfunc(conststd::string&s);当实参是string时:voidfuncstr(conststd::string&s){ std::cout<<s;}voidfuncchar(constchar*s){ std::cout<<s;}intmain(){ std::strings("f......