c/vc++ »·¾³Ï²»Í¬µÄÎļþ³¤¶È»ñÈ¡·½·¨
£¨Ò»£©
¶ÔÎļþ²Ù×÷ʱÓÐʱ»ñµÃÎļþµÄ´óСʱ±ØÒªµÄ.ÏÂÃæÊÇ»ñµÃÆä´óССµÄ½Ï¼òµ¥·½·¨.
#include<io.h> //CÓïÑÔÍ·Îļþ
#include<iostream> //for system();
using namespace std;
int main()
{
int handle;
handle = open("test.txt", 0x0100); //open file for read
long length = filelength(handle); //get length of file
cout<<"file length in bytes:"<<length<<endl;
close(handle);
system("pause");
return 0;
}
£¨¶þ£©
//ÓÃWindows API ÖÐµÄ GetFileSize()»ñµÃÎļþ³¤¶È
//¼ÙÉèÎļþfile.txt ÔÚµ±Ç°Ä¿Â¼ÏÂ
//file.txtµÄÄÚÈÝΪ:123abc
//¹ØÓÚwindows APIº¯ÊýÇé²Î¿¼²¿·Öwindows APIº¯Êý»òMSDN
#include <iostream>
#include <windows.h> //for windows api
using namespace std;
int main()
{
//ÓÃAPIº¯ÊýCreateFile()´´½¨Îļþ¾ä±ú
HANDLE fhadle = CreateFile("file.txt", //ÎļþÃû»ò·¾¶
0,
0,
0,
OPEN_EXISTING, //Îļþ´æÔÚÔò´ò¿ª²¢¶ÁÈ¡
Ïà¹ØÎĵµ£º
ΪʲôÐèҪʹÓÃextern "C"ÄØ£¿C++Ö®¸¸ÔÚÉè¼ÆC++֮ʱ£¬¿¼Âǵ½µ±Ê±ÒѾ´æÔÚÁË´óÁ¿µÄC´úÂ룬ΪÁËÖ§³ÖÔÀ´µÄC´úÂëºÍÒѾдºÃC¿â£¬ÐèÒªÔÚC++Öо¡¿ÉÄܵÄÖ§³ÖC£¬¶øextern "C"¾ÍÊÇÆäÖеÄÒ»¸ö²ßÂÔ¡£
¡¡¡¡ÊÔÏëÕâÑùµÄÇé¿ö:Ò»¸ö¿âÎļþÒѾÓÃCдºÃÁ˶øÇÒÔËÐеúÜÁ¼ºÃ£¬Õâ¸öʱºòÎÒÃÇÐèҪʹÓÃÕâ¸ö¿âÎļþ£ ......
ת×Ô£ºhttp://blog.csdn.net/Lambol_8309/archive/2009/09/06/4524453.aspx
Ôø¾Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) ) [10];ÕâÑùµÄ±äÁ¿ÉùÃ÷Â𣿱¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++ÉùÃ÷¡£
¡¡¡¡ÎÒÃǽ«´ÓÿÌì¶¼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconstÐÞÊηûºÍtypedef£¬»¹Óк¯ÊýÖ¸Õ ......
cÎļþ²Ù×÷¾ÍÕâô¼òµ¥
Îļþ²Ù×÷£¬ÉÔ΢һ×ܽá.¡£
FILEÊÇÒ»¸ö½á¹¹ÌåÀàÐÍ£¬ÔÚTCºÍVSÖж¨Òå²»Ïàͬ£¬ËûµÄ×÷ÓþÍÊÇÔÚfopen()Ö®ºó±£´æÁË´ò¿ªÎļþµÄÐÅÏ¢¡£Ò²¾ÍÊÇ˵²Ù×÷ϵͳ°ïÎÒÃÇÍê³ÉÁË£¬ÎÒÃDz»Óùܣ¬´ó´ó½µµÍÁËÄѶȰɡ£
Ê×ÏÈÎÒÃÇ¿¼ÂÇ϶ÔÎļþµÄ²Ù×÷£¬ÎļþÀàÐÍ·ÖΪÎı¾ºÍ¶þ½øÖÆ¡£¶ÁдÎļþµÄº¯ÊýÒ»°ãÇ°ÃæÓиöf£¬Ò²¾Í±íʾfile£¬open ......
int main()
{
printf(&unix["\021%six\012\0"], (unix)["have"] + "fun" - 0x60);
}
gcc -S±àÒë³É»ã±à´úÂëÈçÏÂ:
.file "test.c"
.section .rodata
.LC0:
&nbs ......
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), f ......