c实现的读大文件方法(源代码)
static char *file2memory(FILE *file, long *size)
{
char buffer[1024];
char *string=NULL;
char *newstring=NULL;
long len=0;
long stringlen=0;
if(file) {
while((len = fread(buffer, 1, sizeof(buffer), file))) {
if(string) {
newstring = (char*)realloc(string, len+stringlen+1);
if(newstring)
string = newstring;
else
break; /* no more strings attached! :-) */
}
else
string = (char*)malloc(len+1);
memcpy(&string[stringlen], buffer, len);
stringlen+=len;
}
if (string) {
string[stringlen] = 0;
}
*size = stringlen;
return string;
}
else
return NULL; /* no string */
}
相关文档:
VC中下面几个结构体大小分别是多少呢
struct MyStruct
{
double m4;
char m1;
int m3;
};
struct MyStruct {
char m1;
double m4;
int m3;
};
#pragma pack(push)   ......
Visual C++6.0(5.0)开发工具功能非常强大,但是对于初学者来说,却有很多细节的问题需要注意。作者搜集整理了以下一些实用小技巧,希望对初学者有所帮助。
1:使用vc开发项目时,常会遇到这种情况:
即明明只改动了一个文件,却要把整个项目全部重新编译连接一次。刚刚连接好,一运行,又提示 ......
深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一。因为大多数扩展功能都是直接针对8051系列CPU硬件的。大致有以下8 类: 8051存储类型及存储区域l; 存储模式l存储器类型声明l变量类型声明l 位变量与位寻址l 特殊功能寄存器(SFR)l C51指针l 函数属性具体说明如下(8031为缺省CPU)。
第一节 Keil C ......
1、C和C++够笨,逼的程序员自己做很多事。
C其实大家都知道,是一门中低级语言,保留了指针等汇编特征,与系统底层结合密切。C++呢,更多的向个Object C,即面向对象的C。但这些,其实并不能够让程序员显得很牛。
我个人的理解,之所以C和C++程序员显得很牛,其实原因和大家想像的正好相反,不是因为C和C++太强大,而是这 ......
<script>
a=62;
function encode() {
var code = document.getElementById('code').value;
code = code.replace(/[\r\n]+/g, '');
code = code.replace(/'/g, "\\'
");
var tmp = code.match(/\b(\w+)\b/g);
tmp.sort();
var dict = [];
var i, t = '';
for(var i=0; i<tmp.length ......