函数名: sbrk 功 能: 改变数据段空间位置 用 法: char *sbrk(int incr); 程序例:
#include <stdio.h> #include <alloc.h>
int main(void) { printf("Changing allocation with sbrk()\n"); printf("Before sbrk() call: %lu bytes free\n", (unsigned long) coreleft()); sbrk(1000); printf(" After sbrk() call: %lu bytes free\n", (unsigned long) coreleft()); return 0; }
函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); 程序例:
#include <stdio.h> #include <conio.h>
int main(void) { char label[20]; char name[20]; int entries = 0; int loop, age; double salary;
struct Entry_struct { char name[20]; int age; float salary; } entry[20];
/* Input a label as a string of characters restricting to 20 characters */ printf("\n\nPlease enter a label for the chart: "); scanf("%20s", label); fflush(stdin); /* flush the input stream in case of bad input */
/* Input number of entries as an integer */ printf("How many entries will there be? (less than 20) "); scanf("%d", &entries); fflush(stdin); /* flush the input stream in case of bad input */
/* input a name restricting input to only letters upper or lower case */ for (loop=0;loop<entries;++loop) { printf("Entry %d\n", loop); printf(" Name : "); scanf("%[A-Za-z]", entry[loop].name); fflush(stdin); /* flush the input stream in case of bad input */
/* input an age as an integer */ printf(" Age : "); scanf("%d", &entry[loop].age); fflush(stdin); /* flush the input stream in case of bad input */
/* input a salary as a float */ printf(" Salary : "); scanf("%f", &entry[loop].salary); fflush(stdin); /* flush the input stream in case of bad input */ }
/* Input a name, age and salary as a string, integer, and double */ printf("\nPlease enter your name, age and salary\n"); scanf("%20s %d %lf", name, &age, &salary);
/* Print out the data that was input */ printf("\n\nTable %s\n",label); printf("Compiled by %s age %d $%15.2lf\n", name, age, salary); printf("-----------------------------------------------------\n"); for (loop=0;loop<entries;++loop) printf("%4d | %-20s | %5d | %15.2lf\n", loop + 1, entry[loop].name, entry[loop].age, entry[loop].salary); printf("-----------------------------------------------------\n"); return 0; }
函数名: searchpath 功 能: 搜索DOS路径 用 法: char *searchpath(char *filename); 程序例:
#include <stdio.h> #include <dir.h>
int main(void) { char *p;
/* Looks for TLINK and returns a pointer to the path */ p = searchpath("TLINK.EXE"); printf("Search for TLINK.EXE : %s\n", p);
/* Looks for non-existent file */ p = searchpath("NOTEXIST.FIL"); printf("Search for NOTEXIST.FIL : %s\n", p);
return 0; }
函数名: sector 功 能: 画并填充椭圆扇区 用 法: void far sector(int x, int y, int stangle, int endangle); 程序例:
#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, i; int stangle = 45, endangle = 135; int xrad = 100, yrad = 50;
/* 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;
/* loop through the fill patterns */ for (i=EMPTY_FILL; i<USER_FILL; i++) { /* set the fill style */ setfillstyle(i, getmaxcolor());
/* draw the sector slice */ sector(midx, midy, stangle, endangle, xrad, yrad);
getch(); }
/* clean up */ closegraph(); return 0; }
函数名: segread 功 能: 读段寄存器值 用 法: void segread(struct SREGS *segtbl); 程序例:
#include <stdio.h> #include <dos.h>
int main(void) { struct SREGS segs;
segread(&segs); printf("Current segment register settings\n\n"); printf("CS: %X DS: %X\n", segs.cs, segs.ds); printf("ES: %X SS: %X\n", segs.es, segs.ss);
return 0; }
|