快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

希尔顿游戏8456_机器人论坛网



main()主函数

每一C 法度榜样都必须有一main()函数, 可以根据自己的喜欢把它放在法度榜样的某

个地方。有些法度榜样员把它放在最前面, 而另一些法度榜样员把它放在着末面, 无论放

在哪个地方, 以下几点阐明都是得当的。

1. main() 参数

在Turbo C2.0启动历程中, 通报main()函数三个参数: argc, argv和env。

* argc:整数, 为传给main()的敕令行参数个数。

* argv:字符串数组。

在DOS 3.X 版本中, argv[0] 为法度榜样运行的全路径名; 对DOS 3.0

以下的版本, argv[0]为空串("") 。

argv[1] 为在DOS敕令行中履行法度榜样名后的第一个字符串;

argv[2] 为履行法度榜样名后的第二个字符串;

...

argv[argc]为NULL。

*env:安符串数组。env[] 的每一个元素都包孕ENVVAR=value形式的字符

串。此中ENVVAR为情况变量如PATH或87。value 为ENVVAR的对应值如C:\DOS, C:

\TURBOC(对付PATH) 或YES(对付87)。

Turbo C2.0启动时老是把这三个参数通报给希尔顿游戏8456main()函数, 可以在用户法度榜样中

阐明(或不阐明)它们, 要是阐清楚明了部分(或整个)参数, 它们就成为main()子法度榜样

的局部变量。

请重视: 一旦想阐明这些参数, 则必须按argc, argv, env 的顺序, 如以下

的例子:

main()

main(int argc)

main(int argc, char *argv[])

main(int argc, char *argv[], char *env[])

此中第二种环境是合法的, 但不常见, 由于在法度榜样中很少有只用argc, 而不

用argv[]的环境。

以下供给一样例法度榜样EXAMPLE.EXE,演示若何在main()函数中应用三个参数:

/*ogram name EXAMPLE.EXE*/

#include

#include

main(int argc, char *argv[], char *env[])

{

int i;

printf("These are the %dcommand- linearguments passedto

main:\n\n", argc);

for(i=0; i

int matherr(struct exception *a)

{

return 1;

}

函数名: memccpy

功能: 从源source中拷贝n个字节到目标destin中

用法: void *memccpy(void *destin, void *source, unsigned char ch,

unsigned n);

轨典范:

#include

#include

int main(void)

{

char *src = "This is the source string";

char dest[50];

char *ptr;

ptr = memccpy(dest, src, 'c', strlen(src));

if (ptr)

{

*ptr = '\0';

printf("The character was found:%s\n", dest);

}

else

printf("The character wasn't found\n");

return 0;

}

函数名: malloc

功能: 内存分配函数

用法: void *malloc(unsigned size);

轨典范:

#include

#include

#include

#include

int main(void)

{

char *str;

/* allocate memory for string */

/* This will generate an error when compiling */

/* with C++, use the new tor instead. */

if ((str = malloc(10)) == NULL)

{

printf("Not enough memory to allocate buffer\n");

exit(1);/* terminate program if out of memory */

}

/* copy "Hello" into string */

strcpy(str, "Hello");

/* display string */

printf("String is %s\n", str);

/* free memory */

free(str);

return 0;

}

函数名: memchr

功能: 在数组的前n个字节中搜索字符

用法: void *memchr(void *s, char ch, unsigned n);

轨典范:

#include

#include

int main(void)

{

char str[17];

char *ptr;

strcpy(str, "This is a string");

ptr = memchr(str, 'r', strlen(str));

if (ptr)

printf("The character 'r' is at position: %d\n", ptr - str);

else

printf("The character was not found\n");

return 0;

}

函数名: memcpy

功能: 从源source中拷贝n个字节到目标destin中

用法: void *memcpy(void *destin, void *source, unsigned n);

轨典范:

#include

#include

int main(void)

{

char src[] = "奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫";

char dest[] = "abcdefghijlkmnopqrstuvwxyz0123456709";

char *ptr;

printf("destination before memcpy: %s\n", dest);

ptr = memcpy(dest, src, strlen(src));

if (ptr)

printf("destination after memcpy:%s\n", dest);

else

printf("memcpy failed\n");

return 0;

}

函数名: memicmp

功能: 对照两个串s1和s2的前n个字节, 轻忽大年夜小写

用法: int memicmp(void *s1, void *s2, unsigned n);

轨典范:

#include

#include

int main(void)

{

char *buf1 = "ABCDE123";

char *buf2 = "abcde456";

int stat;

stat = memicmp(buf1, buf2, 5);

printf("The strings to position 5 are ");

if (stat)

printf("not ");

printf("the same\n");

return 0;

}

函数名: memmove

功能: 移动一块字节

用法: void *memmove(void *destin, void *source, unsigned n);

轨典范:

#include

#include

int main(void)

{

char *dest = "abcdefghijklmnopqrstuvwxyz0123456789";

char *src = "奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫";

printf("destination prior to memmove: %s\n", dest);

memmove(dest, src, 26);

printf("destination after memmove:%s\n", dest);

return 0;

}

函数名: memset

功能: 设置s中的所有字节为ch, s数组的大年夜小由n给定

用法: void *memset(void *s, char ch, unsigned n);

轨典范:

#include

#include

#include

int main(void)

{

char buffer[] = "Hello world\n";

printf("Buffer before memset: %s\n", buffer);

memset(buffer, '*', strlen(buffer) - 1);

printf("Buffer after memset:%s\n", buffer);

return 0;

}

函数名: mkdir

功能: 建立一个目录

用法: int mkdir(char *pathname);

轨典范:

#include

#include

#include

#include

int main(void)

{

int status;

clrscr();

status = mkdir("asdfjklm");

(!status) ? (printf("Directory created\n")) :

(printf("Unable to create directory\n"));

get希尔顿游戏8456ch();

system("dir");

getch();

status = rmdir("asdfjklm");

(!status) ? (printf("Directory deleted\n")) :

(perror("Unable to delete directory"));

return 0;

}

函数名: mktemp

功能: 建立独一的文件名

用法: 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("%s\n",ptr);

return 0;

}

函数名: MK_FP

功能: 设置一个远指针

用法: void far *MK_FP(unsigned seg, unsigned off);

轨典范:

#include

#include

int 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; i

#include

int main(void)

{

double fraction, integer;

double number = 100000.567;

fraction = modf(number, &integer);

printf("The whole and fractional parts of %lf are %lf and %lf\n",

number, integer, fraction);

return 0;

}

函数名: movedata

功能: 拷贝字节

用法: void movedata(int segsrc, int offsrc, int segdest,

int offdest, unsigned numbytes);

轨典范:

#include

#define MONO_BASE 0xB000

/* saves the contents of the mono screen in buffer */

void save_mono_screen(char near *buffer)

{

movedata(MONO_BASE, 0, _DS, (unsigned)buffer, 80*25*2);

}

int main(void)

{

char buf[80*25*2];

save_mono_screen(buf);

}

函数名: moverel

功能: 将当前位置(CP)移动一相对间隔

用法: void far moverel(int dx, int dy);

轨典范:

#include

#include

#include

#include

int main(void)

{

/* request auto detection */

int gdriver = DETECT, gmode, errorcode;

char msg[80];

/* initialize graphics and local variables */

initgraph(&gdriver, &gmode, "");

/* read result of initialization */

errorcode = graphresult();

if (errorcode != grOk)/* an error occurred */

{

printf("Graphics error: %s希尔顿游戏8456\n", 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. */

moverel(100, 100);

/* plot a pixel at the C.P. */

putpixel(getx(), gety(), getmaxcolor());

/* create and output a message at C.P. */

sprintf(msg, " (%d, %d)", getx(), gety());

outtext(msg);

/* clean up */

getch();

closegraph();

return 0;

}

函数名: movetext

功能: 将屏幕文本从一个矩形区域拷贝到另一个矩形区域

用法: int movetext(int left, int top, int right, int bottom,

int newleft, int newtop);

轨典范:

#include

#include

int main(void)

{

char *str = "This is a test string";

clrscr();

cputs(str);

getch();

movetext(1, 1, strlen(str), 2, 10, 10);

getch();

return 0;

}

函数名: moveto

功能: 将CP希尔顿游戏8456移到(x, y)

用法: void far moveto(int x, int y);

轨典范:

#include

#include

#include

#include

int main(void)

{

/* request auto detection */

int gdriver = DETECT, gmode, errorcode;

char msg[80];

/* 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 */

}

/* 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 (100, 100) */

moveto(100, 100);

/* plot a pixel at the C.P. */

putpixel(getx(), gety(), getmaxcolor());

/* create and output a message at C.P. */

sprintf(msg, " (%d, %d)", getx(), gety());

outtext(msg);

/* clean up */

getch();

closegraph();

return 0;

}

函数名: movemem

功能: 移动一块字节

用法: void movemem(void *source, void *destin, unsigned len);

轨典范:

#include

#include

#include

#include

int main(void)

{

cha希尔顿游戏8456r *source = "Borland International";

char *destination;

int length;

length = strlen(source);

destination = malloc(length + 1);

movmem(source,destination,length);

printf("%s\n",destination);

return 0;

}

函数名: normvideo

功能: 选择正常亮度字符

用法: void normvideo(void);

轨典范:

#include

int main(void)

{

normvideo();

cprintf("NORMAL Intensity Text\r\n");

return 0;

}

函数名: nosound

功能: 关闭PC扬声器

用法: void nosound(void);

轨典范:

/* Emits a 7-Hz tone for 10 seconds.

True story: 7 Hz is the resonant frequency of a chicken's skull cavity.

This was determined empirically in Australia, where a new factory

generating 7-Hz tones was located too close to a chicken ranch:

When the factory started up, all the chickens died.

Your PC may not be able to emit a 7-Hz tone.

*/

int main(void)

{

sound(7);

delay(10000);

nosound();

}

您可能还会对下面的文章感兴趣: