⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 endian.c

📁 由bmp生成mpeg2 的I_frame 数据
💻 C
字号:
/*******************************************************************
                     endian related functions
 *******************************************************************/
#include <string.h>

#define ENDIAN_C
#include "endian.h"

int read_le_int32(FILE *in, int *out);
int read_le_int64(FILE *in, __int64 *out);
int write_le_int32(int in, FILE *out);
int write_le_int64(__int64 in, FILE *out);

int read_le_int32(FILE *in, int *out)
{
	int i;
	int c;
	
	*out = 0;
	for(i=0;i<4;i++){
		c = fgetc(in);
		if(c == EOF){
			return 0;
		}
		*out += ((c & 0xff) << (i*8));
	}

	return 1;
}

int read_le_int64(FILE *in, __int64 *out)
{
	int i;
	int c;
	
	*out = 0;
	for(i=0;i<8;i++){
		c = fgetc(in);
		if(c == EOF){
			return 0;
		}
		*out += (((__int64)(c & 0xff)) << (i*8));
	}

	return 1;
}

int write_le_int32(int in, FILE *out)
{
	int i;
	int c;

	for(i=0;i<4;i++){
		c = (in >> (i * 8)) & 0xff;
		c = fputc(c, out);
		if(c == EOF){
			return 0;
		}
	}

	return 1;
}

int write_le_int64(__int64 in, FILE *out)
{
	int i;
	int c;

	for(i=0;i<8;i++){
		c = (in >> (i * 8)) & 0xff;
		c = fputc(c, out);
		if(c == EOF){
			return 0;
		}
	}

	return 1;
}

	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -