C语言函数 - C开头


函数名: cabs

功  能: 计算复数的绝对值

用  法: double cabs(struct complex z);

程序例:


#include <stdio.h>

#include <math.h>


int main(void)

{

  struct complex z;

  double val;


  z.x = 2.0;

  z.y = 1.0;

  val = cabs(z);


  printf("The absolute value of %.2lfi %.2lfj is %.2lf", z.x, z.y, val);

  return 0;

}





函数名: calloc

功  能: 分配主存储器

用  法: void *calloc(size_t nelem, size_t elsize);

程序例:


#include <stdio.h>

#include <alloc.h>


int main(void)

{

  char *str = NULL;


  /* allocate memory for string */

  str = calloc(10, sizeof(char));


  /* copy "Hello" into string */

  strcpy(str, "Hello");


  /* display string */

  printf("String is %s\n", str);


  /* free memory */

  free(str);


  return 0;

}





函数名: ceil

功  能: 向上舍入

用  法: double ceil(double x);

程序例:


#include <math.h>

#include <stdio.h>


int main(void)

{

  double number = 123.54;

  double down, up;


  down = floor(number);

  up = ceil(number);


  printf("original number     %5.2lf\n", number);

  printf("number rounded down %5.2lf\n", down);

  printf("number rounded up   %5.2lf\n", up);


  return 0;

}





函数名: cgets

功  能: 从控制台读字符串

用  法: char *cgets(char *str);

程序例:


#include <stdio.h>

#include <conio.h>


int main(void)

{

  char buffer[83];

  char *p;


  /* There's space for 80 characters plus the NULL terminator */

  buffer[0] = 81;


  printf("Input some chars:");

  p = cgets(buffer);

  printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p);

  printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer);


  /* Leave room for 5 characters plus the NULL terminator */

  buffer[0] = 6;


  printf("Input some chars:");

  p = cgets(buffer);

  printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p);

  printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer);

  return 0;

}





函数名: chdir

功  能: 改变工作目录

用  法: int chdir(const char *path);

程序例:


#include <stdio.h>

#include <stdlib.h>

#include <dir.h>


char old_dir[MAXDIR];

char new_dir[MAXDIR];


int main(void)

{

  if (getcurdir(0, old_dir))

  {

     perror("getcurdir()");

     exit(1);

  }

  printf("Current directory is: \\%s\n", old_dir);


  if (chdir("\\"))

  {

     perror("chdir()");

     exit(1);

  }


  if (getcurdir(0, new_dir))

  {

     perror("getcurdir()");

     exit(1);

  }

  printf("Current directory is now: \\%s\n", new_dir);


  printf("\nChanging back to orignal directory: \\%s\n", old_dir);

  if (chdir(old_dir))

  {

     perror("chdir()");

     exit(1);

  }


  return 0;

}




函数名: _chmod, chmod

功  能: 改变文件的访问方式

用  法: int chmod(const char *filename, int permiss);

程序例:


#include <sys\stat.h>

#include <stdio.h>

#include <io.h>


void make_read_only(char *filename);


int main(void)

{

  make_read_only("NOTEXIST.FIL");

  make_read_only("MYFILE.FIL");

  return 0;

}


void make_read_only(char *filename)

{

  int stat;


  stat = chmod(filename, S_IREAD);

  if (stat)

     printf("Couldn't make %s read-only\n", filename);

  else

     printf("Made %s read-only\n", filename);

}





函数名: chsize

功  能: 改变文件大小

用  法: int chsize(int handle, long size);

程序例:


#include <string.h>

#include <fcntl.h>

#include <io.h>


int main(void)

{

  int handle;

  char buf[11] = "0123456789";


  /* create text file containing 10 bytes */

  handle = open("DUMMY.FIL", O_CREAT);

  write(handle, buf, strlen(buf));


  /* truncate the file to 5 bytes in size */

  chsize(handle, 5);


  /* close the file */

  close(handle);

  return 0;

}




函数名: circle

功  能: 在给定半径以(x, y)为圆心画圆

用  法: void far circle(int x, int y, int radius);

程序例:


#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 radius = 100;


  /* initialize graphics and 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 the circle */

  circle(midx, midy, radius);


  /* clean up */

  getch();

  closegraph();

  return 0;

}





函数名: cleardevice

功  能: 清除图形屏幕

用  法: void far cleardevice(void);

程序例:


#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;


  /* initialize graphics and 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());


  /* for centering screen messages */

  settextjustify(CENTER_TEXT, CENTER_TEXT);


  /* output a message to the screen */

  outtextxy(midx, midy, "press any key to clear the screen:");


  /* wait for a key */

  getch();


  /* clear the screen */

  cleardevice();


  /* output another message */

  outtextxy(midx, midy, "press any key to quit:");


  /* clean up */

  getch();

  closegraph();

  return 0;

}





函数名: clearerr

功  能: 复位错误标志

用  法:void clearerr(FILE *stream);

程序例:


#include <stdio.h>


int main(void)

{

  FILE *fp;

  char ch;


  /* open a file for writing */

  fp = fopen("DUMMY.FIL", "w");


  /* force an error condition by attempting to read */

  ch = fgetc(fp);

  printf("%c\n",ch);


  if (ferror(fp))

  {

     /* display an error message */

     printf("Error reading from DUMMY.FIL\n");


     /* reset the error and EOF indicators */

     clearerr(fp);

  }


  fclose(fp);

  return 0;

}





函数名: clearviewport

功  能: 清除图形视区

用  法: void far clearviewport(void);

程序例:


#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>


#define CLIP_ON 1   /* activates clipping in viewport */


int main(void)

{

  /* request auto detection */

  int gdriver = DETECT, gmode, errorcode;

  int ht;


  /* initialize graphics and 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 */

  }


  setcolor(getmaxcolor());

  ht = textheight("W");


  /* message in default full-screen viewport */

  outtextxy(0, 0, "* <-- (0, 0) in default viewport");


  /* create a smaller viewport */

  setviewport(50, 50, getmaxx()-50, getmaxy()-50, CLIP_ON);


  /* display some messages */

  outtextxy(0, 0, "* <-- (0, 0) in smaller viewport");

  outtextxy(0, 2*ht, "Press any key to clear viewport:");


  /* wait for a key */

  getch();


  /* clear the viewport */

  clearviewport();


  /* output another message */

  outtextxy(0, 0, "Press any key to quit:");


  /* clean up */

  getch();

  closegraph();

  return 0;

}





函数名: _close, close

功  能: 关闭文件句柄

用  法: int close(int handle);

程序例:


#include <string.h>

#include <stdio.h>

#include <fcntl.h>

#include <io.h>


main()

{

  int handle;

  char buf[11] = "0123456789";


  /* create a file containing 10 bytes */

  handle = open("NEW.FIL", O_CREAT);

  if (handle > -1)

  {

      write(handle, buf, strlen(buf));


      /* close the file */

      close(handle);

  }

  else

  {

      printf("Error opening file\n");

  }

  return 0;

}





函数名: clock

功  能: 确定处理器时间

用  法: clock_t clock(void);

程序例:


#include <time.h>

#include <stdio.h>

#include <dos.h>


int main(void)

{

  clock_t start, end;

  start = clock();


  delay(2000);


  end = clock();

  printf("The time was: %f\n", (end - start) / CLK_TCK);


  return 0;

}





函数名: closegraph

功  能: 关闭图形系统

用  法: void far closegraph(void);

程序例:


#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>


int main(void)

{

  /* request auto detection */

  int gdriver = DETECT, gmode, errorcode;

  int x, y;


  /* initialize graphics mode */

  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 */

  }


  x = getmaxx() / 2;

  y = getmaxy() / 2;


  /* output a message */

  settextjustify(CENTER_TEXT, CENTER_TEXT);

  outtextxy(x, y, "Press a key to close the graphics system:");


  /* wait for a key */

  getch();


  /* closes down the graphics system */

  closegraph();


  printf("We're now back in text mode.\n");

  printf("Press any key to halt:");

  getch();

  return 0;

}





函数名: clreol

功  能: 在文本窗口中清除字符到行末

用  法: void clreol(void);

程序例:


#include <conio.h>


int main(void)


{

  clrscr();

  cprintf("The function CLREOL clears all characters from the\r\n");

  cprintf("cursor position to the end of the line within the\r\n");

  cprintf("current text window, without moving the cursor.\r\n");

  cprintf("Press any key to continue . . .");

  gotoxy(14, 4);

  getch();


  clreol();

  getch();


  return 0;

}





函数名: clrscr

功  能: 清除文本模式窗口

用  法: void clrscr(void);

程序例:


#include <conio.h>


int main(void)

{

  int i;


  clrscr();

  for (i = 0; i < 20; i++)

     cprintf("%d\r\n", i);

  cprintf("\r\nPress any key to clear screen");

  getch();


  clrscr();

  cprintf("The screen has been cleared!");

  getch();


  return 0;

}





函数名: coreleft

功  能: 返回未使用内存的大小

用  法: unsigned coreleft(void);

程序例:


#include <stdio.h>

#include <alloc.h>


int main(void)

{

  printf("The difference between the highest allocated block and\n");

  printf("the top of the heap is: %lu bytes\n", (unsigned long) coreleft());


  return 0;

}



函数名: cos

功  能: 余弦函数

用  法: double cos(double x);

程序例:


#include <stdio.h>

#include <math.h>


int main(void)

{

  double result;

  double x = 0.5;


  result = cos(x);

  printf("The cosine of %lf is %lf\n", x, result);

  return 0;

}





函数名: cosh

功  能: 双曲余弦函数

用  法: dluble cosh(double x);

程序例:


#include <stdio.h>

#include <math.h>


int main(void)

{

  double result;

  double x = 0.5;


  result = cosh(x);

  printf("The hyperboic cosine of %lf is %lf\n", x, result);

  return 0;

}





函数名: country

功  能: 返回与国家有关的信息

用  法: struct COUNTRY *country(int countrycode, struct country *country);

程序例:


#include <dos.h>

#include <stdio.h>


#define USA 0


int main(void)

{

  struct COUNTRY country_info;


  country(USA, &country_info);

  printf("The currency symbol for the USA is: %s\n",

          country_info.co_curr);

  return 0;

}





函数名: cprintf

功  能: 送格式化输出至屏幕

用  法: int cprintf(const char *format[, argument, ...]);

程序例:


#include <conio.h>


int main(void)

{

  /* clear the screen */

  clrscr();


  /* create a text window */

  window(10, 10, 80, 25);


  /* output some text in the window */

  cprintf("Hello world\r\n");


  /* wait for a key */

  getch();

  return 0;

}





函数名: cputs

功  能: 写字符到屏幕

用  法: void cputs(const char *string);

程序例:


#include <conio.h>


int main(void)

{

  /* clear the screen */

  clrscr();


  /* create a text window */

  window(10, 10, 80, 25);


  /* output some text in the window */

  cputs("This is within the window\r\n");


  /* wait for a key */

  getch();

  return 0;

}





函数名: _creat  creat

功  能: 创建一个新文件或重写一个已存在的文件

用  法: int creat (const char *filename, int permiss);

程序例:


#include <sys\stat.h>

#include <string.h>

#include <fcntl.h>

#include <io.h>


int main(void)

{

  int handle;

  char buf[11] = "0123456789";


  /* change the default file mode from text to binary */

  _fmode = O_BINARY;


  /* create a binary file for reading and writing */

  handle = creat("DUMMY.FIL", S_IREAD | S_IWRITE);


  /* write 10 bytes to the file */

  write(handle, buf, strlen(buf));


  /* close the file */

  close(handle);

  return 0;

}



函数名: creatnew

功  能: 创建一个新文件

用  法: int creatnew(const char *filename, int attrib);

程序例:


#include <string.h>

#include <stdio.h>

#include <errno.h>

#include <dos.h>

#include <io.h>


int main(void)

{

  int handle;

  char buf[11] = "0123456789";


  /* attempt to create a file that doesn't already exist */

  handle = creatnew("DUMMY.FIL", 0);


  if (handle == -1)

     printf("DUMMY.FIL already exists.\n");

  else

  {

     printf("DUMMY.FIL successfully created.\n");

     write(handle, buf, strlen(buf));

     close(handle);

  }

  return 0;

}





函数名: creattemp

功  能: 创建一个新文件或重写一个已存在的文件

用  法: int creattemp(const char *filename, int attrib);

程序例:


#include <string.h>

#include <stdio.h>

#include <io.h>


int main(void)

{

  int handle;

  char pathname[128];


  strcpy(pathname, "\\");


  /* create a unique file in the root directory */

  handle = creattemp(pathname, 0);


  printf("%s was the unique file created.\n", pathname);

  close(handle);

  return 0;

}





函数名: cscanf

功  能: 从控制台执行格式化输入

用  法: int cscanf(char *format[,argument, ...]);

程序例:


#include <conio.h>


int main(void)

{

  char string[80];


  /* clear the screen */

  clrscr();


  /* Prompt the user for input */

  cprintf("Enter a string with no spaces:");


  /* read the input */

  cscanf("%s", string);


  /* display what was read */

  cprintf("\r\nThe string entered is: %s", string);

  return 0;

}





函数名: ctime

功  能: 把日期和时间转换为字符串

用  法: char *ctime(const time_t *time);

程序例:


#include <stdio.h>

#include <time.h>


int main(void)

{

  time_t t;


  time(&t);

  printf("Today's date and time: %s\n", ctime(&t));

  return 0;

}





函数名: ctrlbrk

功  能: 设置Ctrl-Break处理程序

用  法: void ctrlbrk(*fptr)(void);

程序例:


#include <stdio.h>

#include <dos.h>


#define ABORT 0


int c_break(void)

{

  printf("Control-Break pressed.  Program aborting ...\n");

  return (ABORT);

}


int main(void)

{

  ctrlbrk(c_break);

  for(;;)

  {

     printf("Looping... Press <Ctrl-Break> to quit:\n");

  }

  return 0;

}