写一程序,判断运行程序的系统是大字节序还是小字节序?写函数实现大小字节序转换

#include <stdio.h>
 #include <netinet/in.h>
 int main()
 {
       int i_num = 0x12345678;
       printf("[0]:0x%x\n", *((char *)&i_num + 0));
      printf("[1]:0x%x\n", *((char *)&i_num + 1));
      printf("[2]:0x%x\n", *((char *)&i_num + 2));
      printf("[3]:0x%x\n", *((char *)&i_num + 3));
      i_num = htonl(i_num);
      printf("[0]:0x%x\n", *((char *)&i_num + 0));
      printf("[1]:0x%x\n", *((char *)&i_num + 1));
      printf("[2]:0x%x\n", *((char *)&i_num + 2));
      printf("[3]:0x%x\n", *((char *)&i_num + 3));
      return 0;
}
				
时间: 2025-01-18 08:13:18

写一程序,判断运行程序的系统是大字节序还是小字节序?写函数实现大小字节序转换的相关文章

写一个程序,判断运行程序的系统的是大字节序还是小字节序

#include <stdio.h> void checkSystem() {     union check     {         int i;         char ch;     }c;     c.i = 1;     if ((char)1 == c.ch)         printf("系统是小字节序\n");     else         printf("系统是大字节序\n"); } int main(int argc, c

stm32芯片下载成功,程序不运行问题的解决

在调试过程出现 stm32程序下载成功但是程序不运行,在debug下,执行初始化后,执行到延时函数的时候就报错,怀疑是外部时钟的问题,采用8MHz晶振,晶振更换后程序运行正常. 用示波器测量晶振波形如下图: 更换晶振后晶振波形如下图:

写程序判断系统是大端序还是小端序

大端是高位字节先存储(低地址) 小端是低位字节先存储(低地址) 网络字节序是大端的,也就是高位字节先传输 而int--char的强制转换,是将低地址的数值截断赋给char,利用这个准则可以判断系统是大端序还是小端序 #include <iostream> using namespace std; int main() { int a = 0x1234; char c = static_cast<char>(a); if (c == 0x12) cout << "

判断程序是否运行在管理员权限下

1.提出两个概念(成立条件是系统是Vista后续版本,这是因为引入了UAC) 一个是运行程序的账号是管理员账号 另一个是当前运行环境是管理员环境 2.判断程序是否运行在管理员权限,直接使用函数IsUserAnAdmin就可以判断 #include <ShlObj.h> #include <tchar.h> int _tmain() { BOOL bIsAdmin = IsUserAnAdmin(); if(bIsAdmin) _tprintf_s(_T("Run As a

操作系统篇-hello world(免系统运行程序)

  一.前言 今天起开始分享关于操作系统的相关知识,本人也是菜鸟一个,正处于学习阶段,这整个操作系统篇也是我边学习边总结的一些结果,希望能给正在学习或者有意向学习操作系统的童鞋带来帮助. 二.有关知识 在进入代码之前,先给大家普及一些硬件知识,如果你已经具备了这方面的知识,可以直接略过这部份. 1.计算机怎么启动操作系统的? 首先,我们思考一个问题,为什么一个硬盘安装系统之后打开计算机电源之后就能正常加载启动呢?这看起来似乎很智能,似乎计算机像活的一样会自动去硬盘中找系统代码并自行加载.其实不然

如何在Windows下使用Linux系统来编译和运行程序?

很多开发人员都有这样的疑问:自己平时是在Windows下面办公的,而自己编写的程序的运行环境又是Linux的,如何从Windows切换到Linux呢?是不是要专门到Linux机器上去编写代码呢? 实际上,只要在Windows下安装一个叫做SecureCRT的软件和一个叫做FileZilla的软件,便可轻松解决问题. SecureCRT和FileZilla简介 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录Linux服务器主机的软件. Fil

Linux系统下程序后台运行nohup,&,screen等

"nohup" 在用户ssh终端断开或者网络端口时,终端没有HUP信号则会关闭所有子进程. nohup则会让进程忽略HUP信号,不受终端断开限制 一般在结尾加上"&"将命令同时放到中断后台运行 nohup标准输出和标准错误输出会被重定向到nohup.out文件中 [[email protected] ~]# nohup ping www.ibm.com & [1] 3059 nohup: appending output to `nohup.out'

在开发系统时候运行程序突然报出“WebDev.WebServer40.exe已停止工作”的错误的解决办法

问题描述:在开发系统时候运行程序突然报出“WebDev.WebServer40.exe已停止工作”的错误,程序调试运行,发现程序在打开数据库时候报错,也就是Connection.Open()处. 但是发现程序连接本地数据库正常,连接内网服务器数据库会报错,但是Sqlserver是可以直接连接到内网服务器数据库,所以排除了程序问题和数据库远程设置问题. 解决方法:经过查找和试验,最后发现是的Winsock协议配置有问题,导致网络连接出现异常,有资料说是因为360安全卫士拦截网络访问通道导致的. 解

通达OA mysql在表的某一位置增加一列的命令写成程序判断的问题

本来要写一个文档,中间用程序判断某列是否存在,不存在的话则添加,存在就不处理直接显示一个结果就可以,写的程序如下: if  exists ( select * from information_schema.columns where table_name = "flow_process" and column_name ="X_test2"  AND table_schema = 'TD_OA' ) then          alter table flow_p