📄 estdio.c
字号:
#include "estdio.h"
#include <malloc.h>
#include <assert.h>
#define SYS_ASSERT assert
#include <string.h>
/* a few wrapper function, assert(0) when error happen.
*/
void *emalloc( int size)
{
void *r;
r = malloc(size);
SYS_ASSERT( 0 != r);
return r;
}
FILE * efopen(const char* name, const char *mode)
{
FILE *r ;
r = fopen(name, mode);
if(0 == r)
printf("error open %s, it may be readonly\n",name);
SYS_ASSERT( 0 != r);
return r;
}
long flen(FILE*f )
{
long len;
fseek(f, 0, SEEK_END);
len = ftell(f);
fseek(f, 0, SEEK_SET);
return len;
}
size_t efread( void *buffer, size_t size, size_t count, FILE *stream )
{
size_t readed ;
readed = fread(buffer, size, count, stream);
SYS_ASSERT( readed == size*count);
return readed;
}
size_t efwrite( const void *buffer, size_t size, size_t count, FILE *stream )
{
size_t writed;
writed = fwrite(buffer, size, count, stream);
SYS_ASSERT(writed == size*count);
return writed;
}
#define MaxPath 1024
char * BinRead(const char * _fn, long *_len)
{
FILE *f;
long len;
char *buff;
char fn[MaxPath];
strcpy(fn, _fn);
f = efopen(fn, "rb");
len = flen(f);
buff = emalloc(len);
efread(buff, 1, len ,f );
fclose(f);
*_len = len;
return buff;
}
void BinWrite(const char *fn, unsigned char *bin, long len)
{
FILE* f;
f = efopen(fn, "wb");
efwrite(bin, 1, len, f);
fclose(f);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -