搜索
您的当前位置:首页正文

C语言函数大全(q,r开头)

来源:星星旅游
函数名: qsort

功 能: 使⽤快速排序例程进⾏排序

⽤ 法: void qsort(void *base, int nelem, int width, int (*fcmp)()); 程序例: #include #include #include

int sort_function( const void *a, const void *b); char list[5][4] = { \"cat\int main(void) { int x;

qsort((void *)list, 5, sizeof(list[0]), sort_function); for (x = 0; x < 5; x++) printf(\"%s\\n\return 0; }

int sort_function( const void *a, const void *b) {

return( strcmp(a,b) ); }

函数名: qsort

功 能: 使⽤快速排序例程进⾏排序

⽤ 法: void qsort(void *base, int nelem, int width, int (*fcmp)()); 程序例: #include #include #include

int sort_function( const void *a, const void *b); char list[5][4] = { \"cat\int main(void) { int x;

qsort((void *)list, 5, sizeof(list[0]), sort_function); for (x = 0; x < 5; x++) printf(\"%s\\n\return 0; }

int sort_function( const void *a, const void *b) {

return( strcmp(a,b) ); }

函数名: raise

功 能: 向正在执⾏的程序发送⼀个信号 ⽤ 法: int raise(int sig); 程序例: #include

int main(void) {

int a, b; a = 10; b = 0; if (b == 0)

/* preempt divide by zero error */ raise(SIGFPE); a = a / b; return 0; }

函数名: rand

功 能: 随机数发⽣器 ⽤ 法: void rand(void); 程序例: #include #include

int main(void) { int i;

printf(\"Ten random numbers from 0 to 99\\n\\n\"); for(i=0; i<10; i++)

printf(\"%d\\n\return 0; }

函数名: randbrd 功 能: 随机块读

⽤ 法: int randbrd(struct fcb *fcbptr, int reccnt); 程序例: #include #include #include #include

int main(void) {

char far *save_dta;

char line[80], buffer[256]; struct fcb blk; int i, result;

/* get user input file name for dta */

printf(\"Enter drive and file name (no path - i.e. a:file.dat)\\n\"); gets(line);

/* put file name in fcb */ if (!parsfnm(line, &blk, 1)) {

printf(\"Error in call to parsfnm\\n\"); exit(1); }

printf(\"Drive #%d File: %s\\n\\n\/* open file with DOS FCB open file */ bdosptr(0x0F, &blk, 0);

/* save old dta, and set new one */ save_dta = getdta(); setdta(buffer);

/* set up info for the new dta */ blk.fcb_recsize = 128; blk.fcb_random = 0L; result = randbrd(&blk, 1);

/* check results from randbrd */ if (!result)

printf(\"Read OK\\n\\n\"); else {

perror(\"Error during read\"); exit(1); }

/* read in data from the new dta */

printf(\"The first 128 characters are:\\n\"); for (i=0; i<128; i++) putchar(buffer[i]);

/* restore previous dta */ setdta(save_dta); return 0; }

函数名: randbwr 功 能: 随机块写

⽤ 法: int randbwr(struct fcp *fcbptr, int reccnt); 程序例: #include #include #include #include

int main(void) {

char far *save_dta; char line[80];

char buffer[256] = \"RANDBWR test!\"; struct fcb blk; int result;

/* get new file name from user */

printf(\"Enter a file name to create (no path - ie. a:file.dat\\n\"); gets(line);

/* parse the new file name to the dta */ parsfnm(line,&blk,1);

printf(\"Drive #%d File: %s\\n\/* request DOS services to create file */ if (bdosptr(0x16, &blk, 0) == -1) {

perror(\"Error creating file\"); exit(1); }

/* save old dta and set new dta */ save_dta = getdta(); setdta(buffer);

/* write new records */ blk.fcb_recsize = 256; blk.fcb_random = 0L; result = randbwr(&blk, 1); if (!result)

printf(\"Write OK\\n\"); else {

perror(\"Disk error\"); exit(1); }

/* request DOS services to close the file */ if (bdosptr(0x10, &blk, 0) == -1) {

perror(\"Error closing file\"); exit(1); }

/* reset the old dta */ setdta(save_dta); return 0; }

函数名: random 功 能: 随机数发⽣器

⽤ 法: int random(int num); 程序例:

#include #include #include

/* prints a random number in the range 0 to 99 */ int main(void) {

randomize();

printf(\"Random number in the 0-99 range: %d\\n\return 0; }

函数名: randomize

功 能: 初始化随机数发⽣器 ⽤ 法: void randomize(void); 程序例: #include #include #include

int main(void) { int i;

randomize();

printf(\"Ten random numbers from 0 to 99\\n\\n\"); for(i=0; i<10; i++)

printf(\"%d\\n\return 0; }

函数名: read

功 能: 从⽂件中读

⽤ 法: int read(int handle, void *buf, int nbyte); 程序例: #include #include #include #include #include #include

int main(void) {

void *buf;

int handle, bytes; buf = malloc(10); /*

Looks for a file in the current directory named TEST.$$$ and attempts to read 10 bytes from it. To use this example you should create the file TEST.$$$ */

if ((handle =

open(\"TEST.$$$\{

printf(\"Error Opening File\\n\"); exit(1); }

if ((bytes = read(handle, buf, 10)) == -1) { printf(\"Read Failed.\\n\"); exit(1); }

else {

printf(\"Read: %d bytes read.\\n\

}

return 0; }

函数名: realloc

功 能: 重新分配主存

⽤ 法: void *realloc(void *ptr, unsigned newsize); 程序例: #include #include #include

int main(void) {

char *str;

/* allocate memory for string */ str = malloc(10);

/* copy \"Hello\" into string */ strcpy(str, \"Hello\");

printf(\"String is %s\\n Address is %p\\n\str = realloc(str, 20);

printf(\"String is %s\\n New address is %p\\n\/* free memory */ free(str); return 0; }

函数名: rectangle 功 能: 画⼀个矩形

⽤ 法: void far rectangle(int left, int top, int right, int bottom); 程序例: #include #include #include #include

int main(void) {

/* request auto detection */

int gdriver = DETECT, gmode, errorcode; int left, top, right, bottom;

/* 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\printf(\"Press any key to halt:\"); getch();

exit(1); /* terminate with an error code */ }

left = getmaxx() / 2 - 50; top = getmaxy() / 2 - 50; right = getmaxx() / 2 + 50; bottom = getmaxy() / 2 + 50; /* draw a rectangle */

rectangle(left,top,right,bottom); /* clean up */ getch();

closegraph(); return 0;

}

函数名: registerbgidriver

功 能: 登录已连接进来的图形驱动程序代码 ⽤ 法: int registerbgidriver(void(*driver)(void)); 程序例: #include #include #include #include

int main(void) {

/* request auto detection */

int gdriver = DETECT, gmode, errorcode;

/* register a driver that was added into graphics.lib */ errorcode = registerbgidriver(EGAVGA_driver); /* report any registration errors */ if (errorcode < 0) {

printf(\"Graphics error: %s\\n\printf(\"Press any key to halt:\"); getch();

exit(1); /* terminate with an error code */ }

/* 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\printf(\"Press any key to halt:\"); getch();

exit(1); /* terminate with an error code */ }

/* draw a line */

line(0, 0, getmaxx(), getmaxy()); /* clean up */ getch();

closegraph(); return 0; }

函数名: remove 功 能: 删除⼀个⽂件

⽤ 法: int remove(char *filename); 程序例: #include

int main(void) {

char file[80];

/* prompt for file name to delete */ printf(\"File to delete: \"); gets(file);

/* delete the file */ if (remove(file) == 0)

printf(\"Removed %s.\\n\else

perror(\"remove\"); return 0;

}

函数名: rename 功 能: 重命名⽂件

⽤ 法: int rename(char *oldname, char *newname); 程序例: #include

int main(void) {

char oldname[80], newname[80];

/* prompt for file to rename and new name */ printf(\"File to rename: \"); gets(oldname);

printf(\"New name: \"); gets(newname); /* Rename the file */

if (rename(oldname, newname) == 0)

printf(\"Renamed %s to %s.\\n\else

perror(\"rename\"); return 0; }

函数名: restorecrtmode

功 能: 将屏幕模式恢复为先前的imitgraph设置 ⽤ 法: void far restorecrtmode(void); 程序例: #include #include #include #include

int main(void) {

/* request auto detection */

int gdriver = DETECT, gmode, errorcode; int x, y;

/* 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\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 any key to exit graphics:\"); getch();

/* restore system to text mode */ restorecrtmode();

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

printf(\"Press any key to return to graphics mode:\"); getch();

/* return to graphics mode */

setgraphmode(getgraphmode());

/* output a message */

settextjustify(CENTER_TEXT, CENTER_TEXT); outtextxy(x, y, \"We’re back in graphics mode.\");

outtextxy(x, y+textheight(\"W\"), \"Press any key to halt:\"); /* clean up */ getch();

closegraph(); return 0; }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top