数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz

C语言的函数!

  [复制链接]
 楼主| 发表于 2004-5-10 16:44:25 | 显示全部楼层
<>函数名: srand
功  能: 初始化随机数发生器
用  法: void srand(unsigned seed);
程序例: <>#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt; <>int main(void)
{
   int i;
   time_t t; <P>   srand((unsigned) time(&amp;t));
   printf("Ten random numbers from 0 to 99\n\n");
   for(i=0; i&lt;10; i++)
       printf("%d\n", rand() % 100);
   return 0;
}
  
</P>
 楼主| 发表于 2004-5-10 16:44:41 | 显示全部楼层
<>函数名: sscanf
功  能: 执行从字符串中的格式化输入
用  法: int sscanf(char *string, char *format[,argument,...]);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;conio.h&gt; <>int main(void)
{
   char label[20];
   char name[20];
   int entries = 0;
   int loop, age;
   double salary; <P>   struct Entry_struct
   {
      char  name[20];
      int   age;
      float salary;
   } entry[20]; <P>/* 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 */ <P>/* Input number of entries as an integer */
   printf("How many entries will there be? (less than 20) ");
   scanf("%d", &amp;entries);
   fflush(stdin);   /* flush the input stream in case of bad input */ <P>/* input a name restricting input to only letters upper or lower case */
   for (loop=0;loop&lt;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 */ <P>/* input an age as an integer */
      printf("  Age    : ");
      scanf("%d", &amp;entry[loop].age);
      fflush(stdin);  /* flush the input stream in case of bad input */ <P>/* input a salary as a float */
      printf("  Salary : ");
      scanf("%f", &amp;entry[loop].salary);
      fflush(stdin); /* flush the input stream in case of bad input */
   } <P>/* 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, &amp;age, &amp;salary);
  <P>/* 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&lt;entries;++loop)
      printf("%4d | %-20s | %5d | %15.2lf\n",
         loop + 1,
  entry[loop].name,
  entry[loop].age,
  entry[loop].salary);
   printf("-----------------------------------------------------\n");
   return 0;
}
  
  </P>
 楼主| 发表于 2004-5-10 16:44:54 | 显示全部楼层
<>函数名: stat
功  能: 读取打开文件信息
用  法: int stat(char *pathname, struct stat *buff);
程序例: <>#include &lt;sys\stat.h&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt; <>#define FILENAME "TEST.$$$" <P>int main(void)
{
   struct stat statbuf;
   FILE *stream; <P>   /* open a file for update */
   if ((stream = fopen(FILENAME, "w+")) == NULL)
   {
      fprintf(stderr, "Cannot open output file.\n");
      return(1);
   } <P>   /* get information about the file */
   stat(FILENAME, &amp;statbuf); <P>   fclose(stream); <P>   /* display the information returned */
   if (statbuf.st_mode &amp; S_IFCHR)
      printf("Handle refers to a device.\n");
   if (statbuf.st_mode &amp; S_IFREG)
      printf("Handle refers to an ordinary file.\n");
   if (statbuf.st_mode &amp; S_IREAD)
      printf("User has read permission on file.\n");
   if (statbuf.st_mode &amp; S_IWRITE)
      printf("User has write permission on file.\n"); <P>   printf("Drive letter of file: %c\n", 'A'+statbuf.st_dev);
   printf("Size of file in bytes: %ld\n", statbuf.st_size);
   printf("Time file last opened: %s\n", ctime(&amp;statbuf.st_ctime));
   return 0;
}
  
  
</P>
 楼主| 发表于 2004-5-10 16:45:26 | 显示全部楼层
<>函数名: _status87
功  能: 取浮点状态
用  法: unsigned int _status87(void);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;float.h&gt; <>int main(void)
{
   float x;
   double y = 1.5e-100; <P>   printf("Status 87 before error: %x\n", _status87()); <P>   x = y;  /* &lt;-- force an error to occur */
   y = x; <P>   printf("Status 87 after error : %x\n", _status87());
   return 0;
}
</P>
 楼主| 发表于 2004-5-10 16:45:39 | 显示全部楼层
<>函数名: stime
功  能: 设置时间
用  法: int stime(long *tp);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;time.h&gt;
#include &lt;dos.h&gt; <>int main(void)
{
   time_t t;
   struct tm *area; <P>   t = time(NULL);
   area = localtime(&amp;t);
   printf("Number of seconds since 1/1/1970 is: %ld\n", t);
   printf("Local time is: %s", asctime(area)); <P>   t++;
   area = localtime(&amp;t);
   printf("Add a second:  %s", asctime(area)); <P>   t += 60;
   area = localtime(&amp;t);
   printf("Add a minute:  %s", asctime(area)); <P>   t += 3600;
   area = localtime(&amp;t);
   printf("Add an hour:   %s", asctime(area)); <P>   t += 86400L;
   area = localtime(&amp;t);
   printf("Add a day:     %s", asctime(area)); <P>   t += 2592000L;
   area = localtime(&amp;t);
   printf("Add a month:   %s", asctime(area)); <P>   t += 31536000L;
   area = localtime(&amp;t);
   printf("Add a year:    %s", asctime(area));
   return 0;
}
  
  
</P>
 楼主| 发表于 2004-5-10 16:45:54 | 显示全部楼层
<>函数名: stpcpy
功  能: 拷贝一个字符串到另一个
用  法: char *stpcpy(char *destin, char *source);
程序例: <>#include &lt;stdio.h&gt;
#include &lt;string.h&gt; <>int main(void)
{
   char string[10];
   char *str1 = "abcdefghi"; <P>   stpcpy(string, str1);
   printf("%s\n", string);
   return 0;
}
</P>
 楼主| 发表于 2004-5-10 16:46:18 | 显示全部楼层
<>函数名: strcat
功  能: 字符串拼接函数
用  法: char *strcat(char *destin, char *source);
程序例: <>#include &lt;string.h&gt;
#include &lt;stdio.h&gt; <>int main(void)
{
   char destination[25];
   char *blank = " ", *c = "C++", *Borland = "Borland"; <P>   strcpy(destination, Borland);
   strcat(destination, blank);
   strcat(destination, c); <P>   printf("%s\n", destination);
   return 0;
}
</P>
 楼主| 发表于 2004-5-10 16:46:33 | 显示全部楼层
<>函数名: strchr
功  能: 在一个串中查找给定字符的第一个匹配之处\
用  法: char *strchr(char *str, char c);
程序例: <>#include &lt;string.h&gt;
#include &lt;stdio.h&gt; <>int main(void)
{
    char string[15];
    char *ptr, c = 'r'; <P>    strcpy(string, "This is a string");
    ptr = strchr(string, c);
    if (ptr)
       printf("The character %c is at position: %d\n", c, ptr-string);
    else
       printf("The character was not found\n");
    return 0;
}
  
</P>
 楼主| 发表于 2004-5-10 16:46:44 | 显示全部楼层
<>函数名: strcmp
功  能: 串比较
用  法: int strcmp(char *str1, char *str2);
程序例: <>#include &lt;string.h&gt;
#include &lt;stdio.h&gt; <>int main(void)
{
    char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
    int ptr; <P>    ptr = strcmp(buf2, buf1);
    if (ptr &gt; 0)
       printf("buffer 2 is greater than buffer 1\n");
    else
       printf("buffer 2 is less than buffer 1\n"); <P>    ptr = strcmp(buf2, buf3);
    if (ptr &gt; 0)
       printf("buffer 2 is greater than buffer 3\n");
    else
       printf("buffer 2 is less than buffer 3\n"); <P>    return 0;
}
</P>
 楼主| 发表于 2004-5-10 16:46:54 | 显示全部楼层
<>函数名: strncmpi
功  能: 将一个串中的一部分与另一个串比较, 不管大小写
用  法: int strncmpi(char *str1, char *str2, unsigned maxlen);
程序例: <>#include &lt;string.h&gt;
#include &lt;stdio.h&gt; <>int main(void)
{
   char *buf1 = "BBB", *buf2 = "bbb";
   int ptr; <P>   ptr = strcmpi(buf2, buf1); <P>   if (ptr &gt; 0)
      printf("buffer 2 is greater than buffer 1\n"); <P>   if (ptr &lt; 0)
      printf("buffer 2 is less than buffer 1\n"); <P>   if (ptr == 0)
      printf("buffer 2 equals buffer 1\n"); <P>   return 0;
}
  
</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 08:42 , Processed in 0.057743 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表