公告:本站提供编程开发方面的技术交流与分享,打造最佳教程网,希望能为您排忧解难!

C语言教程C语言函数: F

C语言函数: F

更新时间:2013-03-25 13:44:16 |

函数名: 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+");

   /* write a string into the file */
   fwrite(string, strlen(string), 1, stream);

   /* seek to the beginning of the file */
   fseek(stream, 0, SEEK_SET);

   do
   {
      /* read a char from the file */
      ch = fgetc(stream);

      /* display the character */
      putch(ch);
   } while (ch != EOF);

   fclose(stream);
   return 0;
}
 
 
 

函数名: fgetchar
功  能: 从流中读取字符
用  法: int fgetchar(void);
程序例:

#include <stdio.h>

int main(void)
{
   char ch;

   /* prompt the user for input */
   printf("Enter a character followed by \
   <Enter>: ");

   /* read the character from stdin */
   ch = fgetchar();

   /* display what was read */
   printf("The character read is: '%c'\n",
          ch);
   return 0;
}

最佳教程网

最大的技术交流平台 www.goodxyx.com© CopyRight 2011-2013, All Rights Reserved

浙ICP备11033019号