|
Turbo C 2.0、Borland C++库函数及用例(24) copy routine can't be used since it assumes the pointer size is near. */ movedata(FP_SEG(str), FP_OFF(str), FP_SEG(fptr), FP_OFF(fptr), strlen(str)); /* display string (note the F modifier) */ printf("Far string is: %Fs\n", fptr); /* free the memory */ farfree(fptr); return 0; } 函数名: farmalloc 功 能: 从远堆中分配存储块 用 法: void far *farmalloc(unsigned long size); 程序例:#include <stdio.h> #include <alloc.h> #include <string.h> #include <dos.h>int main(void) { char far *fptr; char *str = "Hello"; /* allocate memory for the far pointer */ fptr = farmalloc(10); /* copy "Hello" into allocated memory */ /* Note: movedata is used because we might be in a small data model, in which case a normal string copy routine can not be used since it assumes the pointer size is near. */ movedata(FP_SEG(str), FP_OFF(str), FP_SEG(fptr), FP_OFF(fptr), strlen(str)); /* display string (note the F modifier) */ printf("Far string is: %Fs\n", fptr); /* free the memory */ farfree(fptr); return 0; } 函数名: farrealloc 功 能: 调整远堆中的分配块 用 法: void far *farrealloc( void far *block, unsigned long newsize ); 程序例:#include <stdio.h> #include <alloc.h>int main(void) { char far *fptr; fptr = farmalloc(10); printf("First address: %Fp\n", fptr); fptr = farrealloc(fptr,20); printf("New address : %Fp\n", fptr); farfree(fptr); return 0; } 函数名: fclose 功 能: 关闭一个流 用 法: int fclose(FILE *stream); 程序例:#include <string.h> #include <stdio.h>int main(void) { FILE *fp; char buf[11] = "0123456789"; /* create a file containing 10 bytes */ fp = fopen("DUMMY.FIL", "w"); fwrite(&buf, strlen(buf), 1, fp); /* close the file */ fclose(fp); return 0; } 函数名: fcloseall 功 能: 关闭打开流 用 法: int fcloseall(void); 程序例:#include <stdio.h>int main(void) { int streams_closed; /* open two streams */ fopen("DUMMY.ONE", "w");
|