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

📄 [c函数之f].txt

📁 C常用函数 多了解一些有好处的
💻 TXT
📖 第 1 页 / 共 2 页
字号:
函数名: fabs 
功 能: 返回浮点数的绝对值 
用 法: double fabs(double x); 
程序例: 

#include <stdio.h> 
#include <math.h> 

int main(void) 
{ 
float number = -1234.0; 

printf("number: %f absolute value: %f\n", 
number, fabs(number)); 
return 0; 
} 


函数名: farcalloc 
功 能: 从远堆栈中申请空间 
用 法: void far *farcalloc(unsigned long units, unsigned ling unitsz); 
程序例: 
#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 = farcalloc(10, sizeof(char)); 

/* copy "Hello" into allocated memory */ 
/* 
Note: movedata is used because you 
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; 
} 




函数名: farcoreleft 
功 能: 返回远堆中未作用存储区大小 
用 法: long farcoreleft(void); 
程序例: 

#include <stdio.h> 
#include <alloc.h> 

int main(void) 
{ 
printf("The difference between the\ 
highest allocated block in the\ 
far\n"); 
printf("heap and the top of the far heap\ 
is: %lu bytes\n", farcoreleft()); 

return 0; 
} 




函数名: farfree 
功 能: 从远堆中释放一块 
用 法: void farfree(void); 
程序例: 

#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 = farcalloc(10, sizeof(char)); 

/* copy "Hello" into allocated memory */ 
/* 
Note: movedata is used because you might be in a small data model, 
in which case a normal string 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"); 
fopen("DUMMY.TWO", "w"); 

/* close the open streams */ 
streams_closed = fcloseall(); 

if (streams_closed == EOF) 
/* issue an error message */ 
perror("Error"); 
else 
/* print result of fcloseall() function */ 
printf("%d streams were closed.\n", streams_closed); 

return 0; 
} 



函数名: fcvt 
功 能: 把一个浮点数转换为字符串 
用 法: char *fcvt(double value, int ndigit, int *decpt, int *sign); 
程序例: 

#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

int main(void) 
{ 
char *string; 
double value; 
int dec, sign; 
int ndig = 10; 

clrscr(); 
value = 9.876; 
string = ecvt(value, ndig, &dec, &sign); 
printf("string = %s dec = %d \ 
sign = %d\n", string, dec, sign); 

value = -123.45; 
ndig= 15; 
string = ecvt(value,ndig,&dec,&sign); 
printf("string = %s dec = %d sign = %d\n", 
string, dec, sign); 


value = 0.6789e5; /* scientific 
notation */ 
ndig = 5; 
string = ecvt(value,ndig,&dec,&sign); 
printf("string = %s dec = %d\ 
sign = %d\n", string, dec, sign); 

return 0; 
} 




函数名: fdopen 
功 能: 把流与一个文件句柄相接 
用 法: FILE *fdopen(int handle, char *type); 
程序例: 

#include <sys\stat.h> 
#include <stdio.h> 
#include <fcntl.h> 
#include <io.h> 

int main(void) 
{ 
int handle; 
FILE *stream; 

/* open a file */ 
handle = open("DUMMY.FIL", O_CREAT, 
S_IREAD | S_IWRITE); 

/* now turn the handle into a stream */ 
stream = fdopen(handle, "w"); 

if (stream == NULL) 
printf("fdopen failed\n"); 
else 
{ 
fprintf(stream, "Hello world\n"); 
fclose(stream); 
} 
return 0; 
} 



函数名: feof 
功 能: 检测流上的文件结束符 
用 法: int feof(FILE *stream); 
程序例: 

#include <stdio.h> 

int main(void) 
{ 
FILE *stream; 

/* open a file for reading */ 
stream = fopen("DUMMY.FIL", "r"); 

/* read a character from the file */ 
fgetc(stream); 

/* check for EOF */ 
if (feof(stream)) 
printf("We have reached end-of-file\n"); 

/* close the file */ 
fclose(stream); 
return 0; 
} 



函数名: ferror 
功 能: 检测流上的错误 
用 法: int ferror(FILE *stream); 
程序例: 

#include <stdio.h> 

int main(void) 
{ 
FILE *stream; 

/* open a file for writing */ 
stream = fopen("DUMMY.FIL", "w"); 

/* force an error condition by attempting to read */ 
(void) getc(stream); 

if (ferror(stream)) /* test for an error on the stream */ 
{ 
/* display an error message */ 
printf("Error reading from DUMMY.FIL\n"); 

/* reset the error and EOF indicators */ 
clearerr(stream); 
} 

fclose(stream); 
return 0; 
} 




函数名: fflush 
功 能: 清除一个流 
用 法: int fflush(FILE *stream); 
程序例: 

#include <string.h> 
#include <stdio.h> 
#include <conio.h> 
#include <io.h> 

void flush(FILE *stream); 

int main(void) 
{ 
FILE *stream; 
char msg[] = "This is a test"; 

/* create a file */ 
stream = fopen("DUMMY.FIL", "w"); 

/* write some data to the file */ 
fwrite(msg, strlen(msg), 1, stream); 

clrscr(); 
printf("Press any key to flush\ 
DUMMY.FIL:"); 
getch(); 

/* flush the data to DUMMY.FIL without\ 
closing it */ 
flush(stream); 

printf("\nFile was flushed, Press any key\ 
to quit:"); 
getch(); 
return 0; 
} 

void flush(FILE *stream) 
{ 
int duphandle; 

/* flush the stream's internal buffer */ 
fflush(stream); 

/* make a duplicate file handle */ 
duphandle = dup(fileno(stream)); 

/* close the duplicate handle to flush\ 
the DOS buffer */ 
close(duphandle); 
} 




函数名: fgetc 
功 能: 从流中读取字符 
用 法: int fgetc(FILE *stream); 
程序例: 

#include <string.h> 
#include <stdio.h> 
#include <conio.h> 

int main(void) 
{ 
FILE *stream; 
char string[] = "This is a test"; 
char ch; 

/* open a file for update */ 
stream = fopen("DUMMY.FIL", "w+"); 

⌨️ 快捷键说明

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