C语言库函数大全及应用实例三
函数名: ecvt
功 能: 把一个浮点数转换为字符串
用 法: char ecvt(double value, int ndigit, int *decpt, int *sign);
程序例:
#i nclude 
#i nclude 
#i nclude
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); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude
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. 
*/
#i nclude 
#i nclude 
#i nclude
/* 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); 
程序例:
#i nclude 
#i nclude 
#i nclude 
#i nclude 
#i nclude
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 */ 
#i nclude 
#i nclude 
#i nclude
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); 
程序例:
#i nclude 
#i nclude 
#i nclude
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); 
程序例:
#i nclude 
#i nclude
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; 
}
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。
int feof(FILE *stream);
测试所给stream的文件尾标记的宏。
若检测到文件尾标记EOF或Ctrl-z返回非零值;否则,返回0。
#i nclude
int ferror(FILE *stream);
测试给定流读写错误的宏。
若检测到给定流上的错误返回非0值。
struct ffblk {
char ff_reserved[21];
char ff_attrib;
unsigned ff_ftime;
unsigned ff_fdate;
long ff_fsize;
char ff_name[13];
};
int fflush(FILE *stream);
清除输入流的缓冲区,使它仍然打开,并把输出流的缓冲区的内容写入它所联系的文件中。成功时返回0,出错时返回EOF。
int fgetc(FILE *stream);
从流中读取下一个字符。
成功是返回输入流中的下一个字符;至文件结束或出错时返回EOF。
int fgetchar(void);
从标准输入流中读取字符,时定义为getc(stdin)的宏。
返回输入流stdin中的下一个字符,它已被转换成为无符号扩展的整形值。遇到出错或文件结束时返回EOF。
int fgetpos(FILE stream,fpos_t *pos);
取得当前文件指针。
fgetpos把与stream相联系的文件指针的位置保存在pos所指的地方。
其中,类型fpos_t在stdio.h中定义为
typeddf long fpos_t;
成功时返回0;失败时,返回非0值。
char *fgets(char *s,int n,FILE *stream);
成行读。
从流stream读n-1个字符,或遇换行符'\n'为止,把读出的内容,存入s中。与gets不同,fgets在s未尾保留换行符。一个空字节被加入到s,用来标记串的结束。
成功时返回s所指的字符串;在出错或遇到文件结束时返回NULL。
long filelength(int handle);
返回与handle相联系的文件长度的字节数,出错时返回-1L。
int fileno(FILE *stream);
返回与stream相联系的文件描述字。
int fileno(FILE *stream);
返回与stream相联系的文件描述字。
enum fill_patterns { /* Fill patterns for get/setfillstyle */
0 EMPTY_FILL, /* fills area in background color */
1 SOLID_FILL, /* fills area in solid fill color */
2 LINE_FILL, /* --- fill */
3 LTSLASH_FILL, /* /// fill */
4 SLASH_FILL, /* /// fill with thick lines */
5 BKSLASH_FILL, /* \\\ fill with thick lines */
6 LTBKSLASH_FILL, /* \\\ fill */
7 HATCH_FILL, /* light hatch fill */
8 XHATCH_FILL, /* heavy cross hatch fill */
9 INTERLEAVE_FILL, /* interleaving line fill */
10 WIDE_DOT_FILL, /* Widely spaced dot fill */
11 CLOSE_DOT_FILL, /* Closely spaced dot fill */
12 USER_FILL /* user defined fill */
void far fillellipse(int x,int y,int xradius,int yradius);
画一填充椭圆。
以(x,y)为中心,以xradius和yradius为水平和垂直半轴,用当前颜色画边线,画一椭圆,用当前填充颜色和填充方式填充。
int findfirst(const char *pathname,struct ffblk *ffblk,int attrib);
搜索磁盘目录。开始通过DOS系统调用0x4E对磁盘目录进行搜索。pathname中可含有要找的盘区路径文件名。
文件名中可含有通配符(如*或?)。如果找到了匹配的文件,把文件目录信息填入ffblk结构。
attrib是MS-DOS的文件属性字节,用于在搜索过程中选择符合条件的文件。
attrib可以是在dos.h中定义的下列可取值之一:FA_RDONLY,只读;FA_HIDDEN隐藏;FA_SYSTEM系统文件;FA_LABEL卷标;FA_DIREC,目录;FA_ARCH,档案.可参考>.
结构ffblk的格式如下:
struct ffblk{
char ff_reserved[21}; /*由DOS保留*/
char ff_attrib; /*属性查找*/
int ff_ftime; /*文件时间*/
int f_fdate; /*文件日期*/
long ff_fsize; /*文件大小*/
char ff_name[13}; /*找到的文件名*/
在成功的地找到了与搜索路径pathname相匹配的文件名后返回0;否则返回-1。
int findnext(xtruct ffblk *ffblk);继续按findfirst的pathname搜索磁盘目录。
成功地找到了与搜索路径pathname相匹配的后续文件名后返回0;否则返回-1。
void far floodfill(int x,int y, int border);
填充一个有界的区域。
double floor(double x);
返回〈=x的用双精度浮点数表示的最大整数。
int flushall(void);
清除所有缓冲区。
清除所有与打开输入流相联系的缓冲区,并把所有和打开输出流相联系的缓冲区的内容写入到各自的文件中,跟在flushall后面的读操作,从输入文件中读新数据到缓冲区中。
返回一个表示打开输入流和输出流总数的整数。
C语言库函数大全及应用实例三的更多相关文章
- C语言库函数大全及应用实例八
		原文:C语言库函数大全及应用实例八 [编程资料]C语言库函数大全及应用实例八 函数名: kbhit 功 能: 检查 ... 
- C语言库函数大全及应用实例四
		原文:C语言库函数大全及应用实例四 [编程资料]C语言库函数大全及应用实例四 couble fmod (double x, dou ... 
- C语言库函数大全及应用实例十四
		原文:C语言库函数大全及应用实例十四 [编程资料]C语言库函数大全及应用实例十四 函数名: strset 功 能: 将一个串 ... 
- C语言库函数大全及应用实例十三
		原文:C语言库函数大全及应用实例十三 [编程资料]C语言库函数大全及应用实例十三 函数名: stat 功 能: 读取打 ... 
- C语言库函数大全及应用实例十一
		原文:C语言库函数大全及应用实例十一 [编程资料]C语言库函数大全及应用实例十一 函数名: setbkcolor 功 能 ... 
- C语言库函数大全及应用实例十二
		原文:C语言库函数大全及应用实例十二 [编程资料]C语言库函数大全及应用实例十二 函数名: setrgbpalette ... 
- C语言库函数大全及应用实例十
		原文:C语言库函数大全及应用实例十 [编程资料]C语言库函数大全及应用实例十 函数名: qsort 功 能: 使 ... 
- C语言库函数大全及应用实例九
		原文:C语言库函数大全及应用实例九 [编程资料]C语言库函数大全及应用实例九 函数名: mktemp 功 ... 
- C语言库函数大全及应用实例七
		原文:C语言库函数大全及应用实例七 [编程资料]C语言库函数大全及应用实例七 函数名: getw 功 能: 从流中取一整数 用 法: int getw(FILE *strem); 程序例: #i nc ... 
随机推荐
- localStorge它storage事件
			随着h5患病率和mobile发展.localStorage它不再是一个陌生的词汇.我相信大多数童鞋进行了联系,并用它.但storage事件相信有很多童鞋不清晰甚至没有接触.今天我们主要谈storage ... 
- Java  内存架构
			a) 执行. main()作为该程序的初始线的起点.无论由线程开始在其他线程. JVM有两个内螺纹:守护线程和非守护线程,main()它是一个非守护线程.常由JVM自己使用.java程序 ... 
- JAVA基础实例(三)--排序
			冒泡排序 是一种简单的排序算法.它反复地走訪过要排序的数列,一次比較两个元素.假设他们的顺序错误就把他们交换过来.走訪数列的工作是反复地进行直到没有再须要交换,也就是说该数列已经排序完毕. 这个算法的 ... 
- Mybatis如何SQL声明表名称参数
			insert into prefix_${table_name} (a, b, c) values (#{a}, #{b}, #{c}) ${} 它代表了直接使用字面(literal value) # ... 
- SVN与eclipse整合和利用、SVN与Apache综合
			SVN与eclipse综合 下载SVN插入(http://subclipse.tigris.org) http://subclipse.tigris.org/servlets/ProjectDocum ... 
- ASP.NET MVC常见问题解决方法
			1.页面报错: The following errors occurred while attempting to load the app. - No assembly found containi ... 
- MapReduce 规划 系列的12 使用Hadoop Streaming技术集成newLISP文字
			本文example6环境与前Hadoop 1.x异,于Hadoop 2.x环境测试. 功能与前面相同的日志处理程序. 第一newLISP文字,游玩mapper任务.于stdin读取文本数据,将did由 ... 
- 大约 C++ 几个方面分析--overload, override, overwrite, rewrite
			overload, override, overwrite, rewrite 这几个单词常常出如今 C++ 书中,翻阅一些译版后发现并未对 override, overwrite, rewrite 严 ... 
- remine chart2安装
			http://blog.csdn.net/kufeiyun/article/details/9213911 
- SQL Mirroring[Hot back up with Double machine]
			Background: It's fairly common for businesses to want to provide some high availability for their SQ ... 
