?? c函數大全.txt
字號:
}
void flush(FILE *stream)
{
int duphandle;
/* flush TC'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);
}
函數名: dup2
功 能: 復制文件句柄
用 法: int dup2(int oldhandle, int newhandle);
程序例:
#include
#include
#include
#include
int main(void)
{
#define STDOUT 1
int nul, oldstdout;
char msg[] = "This is a test";
/* create a file */
nul = open("DUMMY.FIL", O_CREAT | O_RDWR,
S_IREAD | S_IWRITE);
/* create a duplicate handle for standard
output */
oldstdout = dup(STDOUT);
/*
redirect standard output to DUMMY.FIL
by duplicating the file handle onto the
file handle for standard output.
*/
dup2(nul, STDOUT);
/* close the handle for DUMMY.FIL */
close(nul);
/* will be redirected into DUMMY.FIL */
write(STDOUT, msg, strlen(msg));
/* restore original standard output
handle */
dup2(oldstdout, STDOUT);
/* close duplicate handle for STDOUT */
close(oldstdout);
return 0;
}
函數大全(e開頭)
函數名: ecvt
功 能: 把一個浮點數轉換為字符串
用 法: char ecvt(double value, int ndigit, int *decpt, int *sign);
程序例:
#include
#include
#include
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;
}
函數名: ellipse
功 能: 畫一橢圓
用 法: void far ellipse(int x, int y, int stangle, int endangle,
int xradius, int yradius);
程序例:
#include
#include
#include
#include
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy;
int stangle = 0, endangle = 360;
int xradius = 100, yradius = 50;
/* initialize graphics, 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 ellipse */
ellipse(midx, midy, stangle, endangle,
xradius, yradius);
/* clean up */
getch();
closegraph();
return 0;
}
函數名: enable
功 能: 開放硬件中斷
用 法: void enable(void);
程序例:
/* ** NOTE:
This is an interrupt service routine. You can NOT compile this program
with Test Stack Overflow turned on and get an executable file which will
operate correctly.
*/
#include
#include
#include
/* The clock tick interrupt */
#define INTR 0X1C
void interrupt ( *oldhandler)(void);
int count=0;
void interrupt handler(void)
{
/*
disable interrupts during the handling of the interrupt
*/
disable();
/* increase the global counter */
count++;
/*
re enable interrupts at the end of the handler
*/
enable();
/* call the old routine */
oldhandler();
}
int main(void)
{
/* save the old interrupt vector */
oldhandler = getvect(INTR);
/* install the new interrupt handler */
setvect(INTR, handler);
/* loop until the counter exceeds 20 */
while (count < 20)
printf("count is %d\n",count);
/* reset the old interrupt handler */
setvect(INTR, oldhandler);
return 0;
}
函數名: eof
功 能: 檢測文件結束
用 法: int eof(int *handle);
程序例:
#include
#include
#include
#include
#include
int main(void)
{
int handle;
char msg[] = "This is a test";
char ch;
/* create a file */
handle = open("DUMMY.FIL",
O_CREAT | O_RDWR,
S_IREAD | S_IWRITE);
/* write some data to the file */
write(handle, msg, strlen(msg));
/* seek to the beginning of the file */
lseek(handle, 0L, SEEK_SET);
/*
reads chars from the file until hit EOF
*/
do
{
read(handle, &ch, 1);
printf("%c", ch);
} while (!eof(handle));
close(handle);
return 0;
}
函數名: exec...
功 能: 裝入并運行其它程序的函數
用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL);
int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,
char *envp[]);
int execlp(char *pathname, char *arg0, arg1, .., NULL);
int execple(char *pathname, char *arg0, arg1, ..., NULL,
char *envp[]);
int execv(char *pathname, char *argv[]);
int execve(char *pathname, char *argv[], char *envp[]);
int execvp(char *pathname, char *argv[]);
int execvpe(char *pathname, char *argv[], char *envp[]);
程序例:
/* execv example */
#include
#include
#include
void main(int argc, char *argv[])
{
int i;
printf("Command line arguments:\n");
for (i=0; i printf("[%2d] : %s\n", i, argv[i]);
printf("About to exec child with arg1 arg2 ...\n");
execv("CHILD.EXE", argv);
perror("exec error");
exit(1);
}
函數名: exit
功 能: 終止程序
用 法: void exit(int status);
程序例:
#include
#include
#include
int main(void)
{
int status;
printf("Enter either 1 or 2\n");
status = getch();
/* Sets DOS errorlevel */
exit(status - '0');
/* Note: this line is never reached */
return 0;
}
函數名: exp
功 能: 指數函數
用 法: double exp(double x);
程序例:
#include
#include
int main(void)
{
double result;
double x = 4.0;
result = exp(x);
printf("'e' raised to the power \
of %lf (e ^ %lf) = %lf\n",
x, x, result);
return 0;
}
函數大全(e開頭)
函數名: ecvt
功 能: 把一個浮點數轉換為字符串
用 法: char ecvt(double value, int ndigit, int *decpt, int *sign);
程序例:
#include
#include
#include
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;
}
函數名: ellipse
功 能: 畫一橢圓
用 法: void far ellipse(int x, int y, int stangle, int endangle,
int xradius, int yradius);
程序例:
#include
#include
#include
#include
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy;
int stangle = 0, endangle = 360;
int xradius = 100, yradius = 50;
/* initialize graphics, 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 ellipse */
ellipse(midx, midy, stangle, endangle,
xradius, yradius);
/* clean up */
getch();
closegraph();
return 0;
}
函數名: enable
功 能: 開放硬件中斷
用 法: void enable(void);
程序例:
/* ** NOTE:
This is an interrupt service routine. You can NOT compile this program
with Test Stack Overflow turned on and get an executable file which will
operate correctly.
*/
#include
#include
#include
/* The clock tick interrupt */
#define INTR 0X1C
void interrupt ( *oldhandler)(void);
int count=0;
void interrupt handler(void)
{
/*
disable interrupts during the handling of the interrupt
*/
disable();
/* increase the global counter */
count++;
/*
re enable interrupts at the end of the handler
*/
enable();
/* call the old routine */
oldhandler();
}
int main(void)
{
/* save the old interrupt vector */
oldhandler = getvect(INTR);
/* install the new interrupt handler */
setvect(INTR, handler);
/* loop until the counter exceeds 20 */
while (count < 20)
printf("count is %d\n",count);
/* reset the old interrupt handler */
setvect(INTR, oldhandler);
return 0;
}
函數名: eof
功 能: 檢測文件結束
用 法: int eof(int *handle);
程序例:
#include
#include
#include
#include
#include
int main(void)
{
int handle;
char msg[] = "This is a test";
char ch;
/* create a file */
handle = open("DUMMY.FIL",
O_CREAT | O_RDWR,
S_IREAD | S_IWRITE);
/* write some data to the file */
write(handle, msg, strlen(msg));
/* seek to the beginning of the file */
lseek(handle, 0L, SEEK_SET);
/*
reads chars from the file until hit EOF
*/
do
{
read(handle, &ch, 1);
printf("%c", ch);
} while (!eof(handle));
close(handle);
return 0;
}
函數名: exec...
功 能: 裝入并運行其它程序的函數
用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL);
int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,
char *envp[]);
int execlp(char *pathname, char *arg0, arg1, .., NULL);
int execple(char *pathname, char *arg0, arg1, ..., NULL,
char *envp[]);
int execv(char *pathname, char *argv[]);
int execve(char *pathname, char *argv[], char *envp[]);
int execvp(char *pathname, char *argv[]);
int execvpe(char *pathname, char *argv[], char *envp[]);
程序例:
/* execv example */
#include
#include
#include
void main(int argc, char *argv[])
{
int i;
printf("Command line arguments:\n");
for (i=0; i printf("[%2d] : %s\n", i, argv[i]);
printf("About to exec child with arg1 arg2 ...\n");
execv("CHILD.EXE", argv);
perror("exec error");
exit(1);
}
函數名: exit
功 能: 終止程序
用 法: void exit(int status);
程序例:
#include
#include
#include
int main(void)
{
int status;
printf("Enter either 1 or 2\n");
status = getch();
/* Sets DOS errorlevel */
exit(status - '0');
/* Note: this line is never reached */
return 0;
}
函數名: exp
功 能: 指數函數
用 法: doubl函數大全(f開頭)
double fabs(double x);
返回雙精度x的絕對值。
void far *farcalloc(unsigned long nunits,unsigned long unitsz);
堆中給含有nu從遠nits個元素的,每個元素占用unitsz個字節長的數組分配存貯區。
成功是返回指向新分配的內存塊的指針;若存貯空間不夠,返回NULL。
unsigned long farcoreleft(void);
返回遠堆中未用存貯區的大小。
void farfree(void far *block);
釋放遠堆中以前所分配內存塊。
void far *farmalloc(unsigned long nbytes);
從遠堆分配長nbytes字節的內存塊,返回新地址。
void far *farrealloc(void far *oldblock,unsigned long nbytes);
調整已分配的內存塊的大小為nbytes。需要的話,可把塊中的內容復制到新位置。要注意:所有的可用的RAM可被分配,大于64K的塊可被分配。
遠指針用于存取被分配的塊。返回重新分配的內存塊的地址。若存貯塊重新分配失敗,返回NULL。
struct fcb {
char fcb_drive; /* 0 = default, 1 = A, 2 = B */
char fcb_name[8]; /* File name */
char fcb_ext[3]; /* File extension */
short fcb_curblk; /* Current block number */
short fcb_recsize; /* Logical record size in bytes */
long fcb_filsize; /* File size in bytes */
short fcb_date; /* Date file was last written */
char fcb_resv[10]; /* Reserved for DOS */
char fcb_currec; /* Current record in block */
long fcb_random; /* Random record number */
};
int fclose(FILE *stream);
關閉一個流。
成功返回0;失敗是返回EOF。
int fcloseall(void);
關閉所有打開的流,除了stdin,stdout,stdprn,stderr和stdaux。
char *fcvt(double value,int ndig,int *dec,int *sign);
把浮點數轉換成字符串,把浮點數value轉換成長度為ndig的以空字符終結的字符串,返回一個指向這個字符串的指針,相對于串的開始處,
小數點的位置,由dec間接存貯,dec若為負值,表示小數點在返回的字符串的左邊。返回的字符串本身不帶小數點。如果value的符號為負,由sign指向的值非零;否則它是零。
FILE *fdopen(int handle,char *type);
把流與一個文件描述字相聯系地打開。fdopen使流stream與一個從creat,dup,dup2或open得到的文件描述字相聯系。流的類型type必須與打開文件描述字handle的模式相匹配。
類型字符串type可以是下列值之一:
r,打開用于只讀;
w,創建用于寫;
a,打開用于寫在原有內容后面,文件不存在時創建用于寫;
r+,打開已存在的文件用于更新(讀和寫);
a+,添加打開,文件不存在時創建,在末尾更新。成功時返回新打開的流。出錯時返回NULL。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -