函數名: 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; }
(http://www.fanqiang.com)
進入【UNIX論壇】
|