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

📄 turbo c 2.0、borland c++库函数及用例.01

📁 经典C教程,带所有ANSI C的库函数说明及例子
💻 01
📖 第 1 页 / 共 5 页
字号:
   printf("Press any key to flush \
	DUMMY.FIL:");
   getch();   /* flush the data to DUMMY.FIL without
      closing it */
   flush(fp);   printf("\nFile was flushed, Press any \
	key to quit:");
   getch();
   return 0;
}void flush(FILE *stream)
{
   int duphandle;
   /* flush TC'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);
}
函数名: dup2
功  能: 复制文件句柄
用  法: int dup2(int oldhandle, int newhandle);
程序例:#include <sys\stat.h>
#include <string.h>
#include <fcntl.h>
#include <io.h>int main(void)
{
   #define STDOUT 1
   int nul, oldstdout;
   char msg[] = "This is a test";   /* create a file */
   nul = open("DUMMY.FIL", O_CREAT | O_RDWR,
      S_IREAD | S_IWRITE);   /* create a duplicate handle for standard
      output */
   oldstdout = dup(STDOUT);
   /*
      redirect standard output to DUMMY.FIL
      by duplicating the file handle onto the
      file handle for standard output.   */   dup2(nul, STDOUT);
   /* close the handle for DUMMY.FIL */
   close(nul);   /* will be redirected into DUMMY.FIL */
   write(STDOUT, msg, strlen(msg));   /* restore original standard output
      handle */
   dup2(oldstdout, STDOUT);   /* close duplicate handle for STDOUT */
   close(oldstdout);
   return 0;
}字母E开头函数
函数名: ecvt
功  能: 把一个浮点数转换为字符串
用  法: char ecvt( 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;
}
函数名: ellipse
功  能: 画一椭圆
用  法: void far ellipse( int x, int y, int stangle,
			  int endangle, int xradius,
			  int yradius);
程序例:#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>int main(void)
{   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int midx, midy;
   int stangle = 0, endangle = 360;
   int xradius = 100, yradius = 50;   /* initialize graphics, local variables */
   initgraph(&gdriver, &gmode, "");   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk)
   /* an error occurred */   {  printf("Graphics error: %s\n",
	   grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);
   /* terminate with an error code */
   }
   midx = getmaxx() / 2;
   midy = getmaxy() / 2;
   setcolor(getmaxcolor());   /* draw ellipse */
   ellipse(midx, midy, stangle, endangle,
	 xradius, yradius);
   /* clean up */
   getch();
   closegraph();
   return 0;
}
函数名: enable
功  能: 开放硬件中断
用  法: void enable(void);
程序例:/* ** NOTE:
This is an interrupt service routine. You can NOT compile
this program with Test Stack Overflow turned on and get an
executable file which will operate correctly.
*/#include <stdio.h>
#include <dos.h>
#include <conio.h>/* The clock tick interrupt */
#define INTR 0X1Cvoid interrupt ( *oldhandler)(void);int count=0;void interrupt handler(void)
{
/*
   disable interrupts during the handling of the interrupt
*/
   disable();
/* increase the global counter */   count++;
/*   re enable interrupts at the end of the handler*/
   enable();
/* call the old routine */
   oldhandler();
}int main(void)
{
/* save the old interrupt vector */
   oldhandler = getvect(INTR);
/* install the new interrupt handler */
   setvect(INTR, handler);/* loop until the counter exceeds 20 */
   while (count < 20)
      printf("count is %d\n",count);/* reset the old interrupt handler */
   setvect(INTR, oldhandler);   return 0;
}
函数名: eof
功  能: 检测文件结束
用  法: int eof(int *handle);
程序例:#include <sys\stat.h>
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>int main(void)
{
   int handle;   char msg[] = "This is a test";
   char ch;
   /* create a file */
   handle = open("DUMMY.FIL",
	     O_CREAT | O_RDWR,
	     S_IREAD | S_IWRITE);
   /* write some data to the file */
   write(handle, msg, strlen(msg));   /* seek to the beginning of the file */
   lseek(handle, 0L, SEEK_SET);   /*      reads chars from the file until hit EOF   */
   do
   {      read(handle, &ch, 1);
      printf("%c", ch);
   } while (!eof(handle));   close(handle);
   return 0;
}
函数名: exec...
功  能: 装入并运行其它程序的函数
用  法: int execl( char *pathname, char *arg0, arg1, ...,
		   argn, NULL );
	int execle( char *pathname, char *arg0, arg1, ...,
		    argn, NULL, char *envp[] );
	int execlp( char *pathname, char *arg0, arg1, ..,
		    NULL );
	int execple( char *pathname, char *arg0, arg1, ...,
		     NULL, char *envp[] );
	int execv( char *pathname, char *argv[] );
	int execve( char *pathname, char *argv[],
		    char *envp[] );
	int execvp( char *pathname, char *argv[] );	int execvpe( char *pathname, char *argv[],
		     char *envp[] );
程序例:/* execv example */
#include <process.h>
#include <stdio.h>
#include <errno.h>
void main(int argc, char *argv[])
{
   int i;   printf("Command line arguments:\n");   for (i=0; i<argc; i++)
      printf("[%2d] : %s\n", i, argv[i]);
   printf("About to exec child with arg1 arg2 ...\n");
   execv("CHILD.EXE", argv);
   perror("exec error");
   exit(1);
}
函数名: exit
功  能: 终止程序
用  法: void exit(int status);
程序例:#include <stdlib.h>
#include <conio.h>
#include <stdio.h>int main(void)
{
   int status;   printf("Enter either 1 or 2\n");   status = getch();
   /* Sets DOS errorlevel  */
   exit(status - '0');/* Note: this line is never reached */
   return 0;
}
函数名: exp
功  能: 指数函数
用  法: double exp(double x);
程序例:#include <stdio.h>
#include <math.h>int main(void)
{
   double result;
   double x = 4.0;   result = exp(x);   printf("'e' raised to the power \
	of %lf (e ^ %lf) = %lf\n",
	x, x, result);   return 0;
}字母F开头函数函数名: 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)

⌨️ 快捷键说明

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