C语言函数大全-M篇

上传人:20****03 文档编号:178994149 上传时间:2021-04-06 格式:DOC 页数:16 大小:26KB
返回 下载 相关 举报
C语言函数大全-M篇_第1页
第1页 / 共16页
C语言函数大全-M篇_第2页
第2页 / 共16页
C语言函数大全-M篇_第3页
第3页 / 共16页
C语言函数大全-M篇_第4页
第4页 / 共16页
C语言函数大全-M篇_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《C语言函数大全-M篇》由会员分享,可在线阅读,更多相关《C语言函数大全-M篇(16页珍藏版)》请在金锄头文库上搜索。

1、M:main()主函数 每一C 程序都必须有一main()函数, 可以根据自己的爱好把它放在程序的某个地方。有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放在哪个地方, 以下几点说明都是适合的。 1. main() 参数 在Turbo C2.0启动过程中, 传递main()函数三个参数: argc, argv和env。 * argc: 整数, 为传给main()的命令行参数个数。 * argv: 字符串数组。 在DOS 3.X 版本中, argv0 为程序运行的全路径名; 对DOS 3.0 以下的版本, argv0为空串() 。 argv1 为在DOS命令行中执行程序名后的第

2、一个字符串; argv2 为执行程序名后的第二个字符串; . argvargc为NULL。 *env: 安符串数组。env 的每一个元素都包含ENVVAR=value形式的字符串。其中ENVVAR为环境变量如PATH或87。value 为ENVVAR的对应值如C:DOS, C:TURBOC(对于PATH) 或YES(对于87)。 Turbo C2.0启动时总是把这三个参数传递给main()函数, 可以在用户程序中说明(或不说明)它们, 如果说明了部分(或全部)参数, 它们就成为main()子程序的局部变量。 请注意: 一旦想说明这些参数, 则必须按argc, argv, env 的顺序, 如以

3、下的例子: main() main(int argc) main(int argc, char *argv) main(int argc, char *argv, char *env) 其中第二种情况是合法的, 但不常见, 因为在程序中很少有只用argc, 而不用argv的情况。 以下提供一样例程序EXAMPLE.EXE, 演示如何在main()函数中使用三个参数: /*program name EXAMPLE.EXE*/ #include #include main(int argc, char *argv, char *env) int i; printf(These are the %d

4、 command- line arguments passed to main:nn, argc); for(i=0; i=argc; i+) printf(argv%d:%sn, i, argvi); printf(nThe environment string(s)on this system are:nn); for(i=0; envi!=NULL; i+) printf( env%d:%sn, i, envi); 如果在DOS 提示符下, 按以下方式运行EXAMPLE.EXE: C:example first_argument argument with blanks 3 4 last

5、 butone stop! 注意: 可以用双引号括起内含空格的参数, 如本例中的: argumentwith blanks和Last but one)。 结果是这样的: The value of argc is 7 These are the 7 command-linearguments passed to main: argv0:C:TURBOEXAMPLE.EXE argv1:first_argument argv2:argument with blanks argv3:3 argv4:4 argv5:last but one argv6:stop! argv7:(NULL) The e

6、nvironment string(s) on this system are: env0: COMSPEC=C:COMMAND.COM env1: PROMPT=$P$G /*视具体设置而定*/ env2: PATH=C:DOS;C:TC /*视具体设置而定*/ 应该提醒的是: 传送main() 函数的命令行参数的最大长度为128 个字符 (包括参数间的空格), 这是由DOS 限制的。函数名: mkdir功 能: 建立一个目录用 法: int mkdir(char *pathname);程序例:#include #include #include #include int main(void

7、) int status; clrscr(); status = mkdir(asdfjklm); (!status) ? (printf(Directory createdn) : (printf(Unable to create directoryn); getch(); system(dir); getch(); status = rmdir(asdfjklm); (!status) ? (printf(Directory deletedn) : (perror(Unable to delete directory); return 0;函数名: mktemp功 能: 建立唯一的文件名用

8、 法: char *mktemp(char *template);程序例:#include #include int main(void) /* fname defines the template for the temporary file. */ char *fname = TXXXXXX, *ptr; ptr = mktemp(fname); printf(%sn,ptr); return 0;函数名: MK_FP功 能: 设置一个远指针用 法: void far *MK_FP(unsigned seg, unsigned off);程序例:#include #include int

9、main(void) int gd, gm, i; unsigned int far *screen; detectgraph(&gd, &gm); if (gd = HERCMONO) screen = MK_FP(0xB000, 0); else screen = MK_FP(0xB800, 0); for (i=0; i26; i+) screeni = 0x0700 + (a + i); return 0;函数名: movedata功 能: 拷贝字节用 法: void movedata(int segsrc, int offsrc, int segdest, int offdest,

10、unsigned numbytes);程序例:#include #define MONO_BASE 0xB000/* saves the contents of the monochrome screen in buffer */void save_mono_screen(char near *buffer) movedata(MONO_BASE, 0, _DS, (unsigned)buffer, 80*25*2);int main(void) char buf80*25*2; save_mono_screen(buf);函数名: moverel功 能: 将当前位置(CP)移动一相对距离用

11、法: void far moverel(int dx, int dy);程序例:#include #include #include #include int main(void) /* request auto detection */ int gdriver = DETECT, gmode, errorcode; char msg80; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, ); /* read result of initialization */ errorcode = gra

12、phresult(); if (errorcode != grOk) /* an error occurred */ printf(Graphics error: %sn, grapherrormsg(errorcode); printf(Press any key to halt:); getch(); exit(1); /* terminate with an error code */ /* move the C.P. to location (20, 30) */ moveto(20, 30); /* plot a pixel at the C.P. */ putpixel(getx(), gety(), getmaxcolor(); /* create and output a message at (20, 30) */ sprintf(msg, (%d, %d), getx(), gety(); outtextxy(20, 30, msg); /* move to a point a relative distance */ /* away from the current value of C.P. */

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号