WEB开发网
开发学院软件开发C++ C语言库函数(S类字母) 阅读

C语言库函数(S类字母)

 2008-03-08 12:31:07 来源:WEB开发网   
核心提示:函数名: sound 功能: 以指定频率打开PC扬声器 用法: void sound(unsigned frequency); 程序例: /* Emits a 7-Hz tone for 10 seconds. Your PC may not be able to emit a 7-Hz tone. */ #incl

函数名: sound 
功 能: 以指定频率打开PC扬声器 
用 法: void sound(unsigned frequency); 
程序例: 

/* Emits a 7-Hz tone for 10 seconds. 
  Your PC may not be able to emit a 7-Hz tone. */ 
#include <dos.h> 

int main(void) 

  sound(7); 
  delay(10000); 
  nosound(); 
  return 0; 

 
 
 

函数名: spawnl 
功 能: 创建并运行子程序 
用 法: int spawnl(int mode, char *pathname, char *arg0, 
   arg1, ... argn, NULL); 
程序例: 

#include <PRocess.h> 
#include <stdio.h> 
#include <conio.h> 

int main(void) 

  int result; 

  clrscr(); 
  result = spawnl(P_WAIT, "tcc.exe", NULL); 
  if (result == -1) 
  { 
   perror("Error from spawnl"); 
   exit(1); 
  } 
  return 0; 

 
 

函数名: spawnle 
功 能: 创建并运行子程序 
用 法: int spawnle(int mode, char *pathname, char *arg0, 
   arg1,..., argn, NULL); 
程序例: 

/* spawnle() example */ 

#include <process.h> 
#include <stdio.h> 
#include <conio.h> 

int main(void) 

  int result; 

  clrscr(); 
  result = spawnle(P_WAIT, "tcc.exe", NULL, NULL); 
  if (result == -1) 
  { 
   perror("Error from spawnle"); 
   exit(1); 
  } 
  return 0; 

 
 
 

函数名: sprintf 
功 能: 送格式化输出到字符串中 

用 法: int sprintf(char *string, char *farmat [,argument,...]); 
程序例: 

#include <stdio.h> 
#include <math.h> 

int main(void) 

  char buffer[80]; 

  sprintf(buffer, "An approximation of Pi is %f\n", M_PI); 
  puts(buffer); 
  return 0; 

 
 

函数名: sqrt 
功 能: 计算平方根 
用 法: double sqrt(double x); 
程序例: 

#include <math.h> 
 #include <stdio.h> 

 int main(void) 
 { 
  double x = 4.0, result; 

  result = sqrt(x); 
  printf("The square root of %lf is %lf\n", x, result); 
  return 0; 

 

函数名: srand 
功 能: 初始化随机数发生器 
用 法: void srand(unsigned seed); 
程序例: 

#include <stdlib.h> 
#include <stdio.h> 
#include <time.h> 

int main(void) 

  int i; 
  time_t t; 

  srand((unsigned) time(&t)); 
  printf("Ten random numbers from 0 to 99\n\n"); 
  for(i=0; i<10; i++) 
    printf("%d\n", rand() % 100); 
  return 0; 

 
 

函数名: sscanf 
功 能: 执行从字符串中的格式化输入 
用 法: int sscanf(char *string, char *format[,argument,...]); 
程序例: 

#include <stdio.h> 
#include <conio.h> 

int main(void) 

  char label[20]; 
  char name[20]; 
  int entries = 0; 
  int loop, age; 
  double salary; 

  strUCt Entry_struct 

  { 
   char name[20]; 
   int  age; 
   float salary; 
  } entry[20]; 

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

/* Input number of entries as an integer */ 
  printf("How many entries will there be? (less than 20) "); 
  scanf("%d", &entries); 
  fflush(stdin);  /* flush the input stream in case of bad input */ 

/* input a name restricting input to only letters upper or lower case */ 
  for (loop=0;loop<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 */ 

/* input an age as an integer */ 
   printf(" Age  : "); 
   scanf("%d", &entry[loop].age); 
   fflush(stdin); /* flush the input stream in case of bad input */ 

/* input a salary as a float */ 
   printf(" Salary : "); 
   scanf("%f", &entry[loop].salary); 
   fflush(stdin); /* flush the input stream in case of bad input */ 
  } 

/* 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, &age, &salary); 
 

/* 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<entries;++loop) 
   printf("%4d %-20s %5d %15.2lf\n", 
     loop + 1, 
 entry[loop].name, 
 entry[loop].age, 
 entry[loop].salary); 
  printf("-----------------------------------------------------\n"); 
  return 0; 

 
 

函数名: stat 
功 能: 读取打开文件信息 
用 法: int stat(char *pathname, struct stat *buff); 
程序例: 

#include <sys\stat.h> 
#include <stdio.h> 
#include <time.h> 

#define FILENAME "TEST.$$$" 

int main(void) 

  struct stat statbuf; 
  FILE *stream; 

  /* open a file for update */ 
  if ((stream = fopen(FILENAME, "w+")) == NULL) 
  { 
   fprintf(stderr, "Cannot open output file.\n"); 
   return(1); 
  } 

  /* get information about the file */ 
  stat(FILENAME, &statbuf); 

  fclose(stream); 

  /* display the information returned */ 
  if (statbuf.st_mode & S_IFCHR) 
   printf("Handle refers to a device.\n"); 
  if (statbuf.st_mode & S_IFREG) 
   printf("Handle refers to an ordinary file.\n"); 
  if (statbuf.st_mode & S_IREAD) 

   printf("User has read permission on file.\n"); 
  if (statbuf.st_mode & S_IWRITE) 
   printf("User has write permission on file.\n"); 

  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(&statbuf.st_ctime)); 
  return 0; 

 
 
 

函数名: _status87 
功 能: 取浮点状态 
用 法: unsigned int _status87(void); 
程序例: 

#include <stdio.h> 
#include <float.h> 

int main(void) 

  float x; 
  double y = 1.5e-100; 

  printf("Status 87 before error: %x\n", _status87()); 

  x = y; /* <-- force an error to occur */ 
  y = x; 

  printf("Status 87 after error : %x\n", _status87()); 
  return 0; 

 
 

函数名: stime 
功 能: 设置时间 
用 法: int stime(long *tp); 
程序例: 

#include <stdio.h> 
#include <time.h> 
#include <dos.h> 

int main(void) 

  time_t t; 
  struct tm *area; 

  t = time(NULL); 
  area = localtime(&t); 
  printf("Number of seconds since 1/1/1970 is: %ld\n", t); 
  printf("Local time is: %s", asctime(area)); 

  t++; 
  area = localtime(&t); 
  printf("Add a second: %s", asctime(area)); 

  t += 60; 
  area = localtime(&t); 
  printf("Add a minute: %s", asctime(area)); 

  t += 3600; 

  area = localtime(&t); 
  printf("Add an hour:  %s", asctime(area)); 

  t += 86400L; 
  area = localtime(&t); 
  printf("Add a day:   %s", asctime(area)); 

  t += 2592000L; 
  area = localtime(&t); 
  printf("Add a month:  %s", asctime(area)); 

  t += 31536000L; 
  area = localtime(&t); 
  printf("Add a year:  %s", asctime(area)); 
  return 0; 

 
 
 

函数名: stpcpy 
功 能: 拷贝一个字符串到另一个 
用 法: char *stpcpy(char *destin, char *source); 
程序例: 

#include <stdio.h> 
#include <string.h> 

int main(void) 

  char string[10]; 
  char *str1 = "abcdefghi"; 

  stpcpy(string, str1); 
  printf("%s\n", string); 
  return 0; 

 
 
 

函数名: strcat 
功 能: 字符串拼接函数 
用 法: char *strcat(char *destin, char *source); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 

  char destination[25]; 
  char *blank = " ", *c = "C++", *Borland = "Borland"; 

  strcpy(destination, Borland); 
  strcat(destination, blank); 
  strcat(destination, c); 

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

 
 
 

函数名: strchr 
功 能: 在一个串中查找给定字符的第一个匹配之处\ 
用 法: char *strchr(char *str, char c); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 
 { 

  char string[15]; 
  char *ptr, c = 'r'; 

  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; 
 } 
 
 
 

函数名: strcmp 
功 能: 串比较 
用 法: int strcmp(char *str1, char *str2); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 
 { 
  char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc"; 
  int ptr; 

  ptr = strcmp(buf2, buf1); 
  if (ptr > 0) 
    printf("buffer 2 is greater than buffer 1\n"); 
  else 
    printf("buffer 2 is less than buffer 1\n"); 

  ptr = strcmp(buf2, buf3); 
  if (ptr > 0) 
    printf("buffer 2 is greater than buffer 3\n"); 
  else 
    printf("buffer 2 is less than buffer 3\n"); 

  return 0; 
 } 
 
 
 

函数名: strncmpi 
功 能: 将一个串中的一部分与另一个串比较, 不管大小写 
用 法: int strncmpi(char *str1, char *str2, unsigned maxlen); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 

  char *buf1 = "BBB", *buf2 = "bbb"; 
  int ptr; 

  ptr = strcmpi(buf2, buf1); 


  if (ptr > 0) 
   printf("buffer 2 is greater than buffer 1\n"); 

  if (ptr < 0) 
   printf("buffer 2 is less than buffer 1\n"); 

  if (ptr == 0) 
   printf("buffer 2 equals buffer 1\n"); 

  return 0; 

 
 
 

函数名: strcpy 
功 能: 串拷贝 
用 法: char *strcpy(char *str1, char *str2); 
程序例: 

#include <stdio.h> 
#include <string.h> 

int main(void) 
 { 
  char string[10]; 
  char *str1 = "abcdefghi"; 

  strcpy(string, str1); 
  printf("%s\n", string); 
  return 0; 
 } 
 
 
 

函数名: strcspn 
功 能: 在串中查找第一个给定字符集内容的段 
用 法: int strcspn(char *str1, char *str2); 
程序例: 

#include <stdio.h> 
#include <string.h> 
#include <alloc.h> 

int main(void) 
 { 
  char *string1 = "1234567890"; 
  char *string2 = "747DC8"; 
  int length; 

  length = strcspn(string1, string2); 
  printf("Character where strings intersect is at position %d\n", length); 

  return 0; 
 } 
 
 
 

函数名: strdup 
功 能: 将串拷贝到新建的位置处 
用 法: char *strdup(char *str); 
程序例: 

#include <stdio.h> 
#include <string.h> 
#include <alloc.h> 

int main(void) 
 { 
  char *dup_str, *string = "abcde"; 

  dup_str = strdup(string); 
  printf("%s\n", dup_str); 

  free(dup_str); 

  return 0; 
 } 
 
 
 

函数名: stricmp 
功 能: 以大小写不敏感方式比较两个串 
用 法: int stricmp(char *str1, char *str2); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 

  char *buf1 = "BBB", *buf2 = "bbb"; 
  int ptr; 

  ptr = stricmp(buf2, buf1); 

  if (ptr > 0) 
   printf("buffer 2 is greater than buffer 1\n"); 

  if (ptr < 0) 
   printf("buffer 2 is less than buffer 1\n"); 

  if (ptr == 0) 
   printf("buffer 2 equals buffer 1\n"); 

  return 0; 

 
 

函数名: strerror 
功 能: 返回指向错误信息字符串的指针 
用 法: char *strerror(int errnum); 
程序例: 

#include <stdio.h> 
#include <errno.h> 

int main(void) 

  char *buffer; 
  buffer = strerror(errno); 
  printf("Error: %s\n", buffer); 
  return 0; 

 
 
 

函数名: strcmpi 
功 能: 将一个串与另一个比较, 不管大小写 
用 法: int strcmpi(char *str1, char *str2); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 

  char *buf1 = "BBB", *buf2 = "bbb"; 
  int ptr; 

  ptr = strcmpi(buf2, buf1); 

  if (ptr > 0) 
   printf("buffer 2 is greater than buffer 1\n"); 

  if (ptr < 0) 
   printf("buffer 2 is less than buffer 1\n"); 


  if (ptr == 0) 
   printf("buffer 2 equals buffer 1\n"); 

  return 0; 

 
 
 

函数名: strncmp 
功 能: 串比较 
用 法: int strncmp(char *str1, char *str2, int maxlen); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 


  char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc"; 
  int ptr; 

  ptr = strncmp(buf2,buf1,3); 
  if (ptr > 0) 
   printf("buffer 2 is greater than buffer 1\n"); 
  else 
   printf("buffer 2 is less than buffer 1\n"); 

  ptr = strncmp(buf2,buf3,3); 
  if (ptr > 0) 
   printf("buffer 2 is greater than buffer 3\n"); 
  else 
   printf("buffer 2 is less than buffer 3\n"); 

  return(0); 

 
 

函数名: strncmpi 
功 能: 把串中的一部分与另一串中的一部分比较, 不管大小写 
用 法: int strncmpi(char *str1, char *str2); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 

  char *buf1 = "BBBccc", *buf2 = "bbbccc"; 
  int ptr; 

  ptr = strncmpi(buf2,buf1,3); 

  if (ptr > 0) 
   printf("buffer 2 is greater than buffer 1\n"); 

  if (ptr < 0) 
   printf("buffer 2 is less than buffer 1\n"); 

  if (ptr == 0) 
   printf("buffer 2 equals buffer 1\n"); 

  return 0; 


 
 

函数名: strncpy 
功 能: 串拷贝 
用 法: char *strncpy(char *destin, char *source, int maxlen); 
程序例: 

#include <stdio.h> 
#include <string.h> 

int main(void) 

  char string[10]; 
  char *str1 = "abcdefghi"; 

  strncpy(string, str1, 3); 
  string[3] = '\0'; 
  printf("%s\n", string); 
  return 0; 

 
 

函数名: strnicmp 
功 能: 不注重大小写地比较两个串 
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 

  char *buf1 = "BBBccc", *buf2 = "bbbccc"; 
  int ptr; 

  ptr = strnicmp(buf2, buf1, 3); 

  if (ptr > 0) 
   printf("buffer 2 is greater than buffer 1\n"); 

  if (ptr < 0) 
   printf("buffer 2 is less than buffer 1\n"); 

  if (ptr == 0) 
   printf("buffer 2 equals buffer 1\n"); 

  return 0; 

 
 
 

函数名: strnset 
功 能: 将一个串中的所有字符都设为指定字符 
用 法: char *strnset(char *str, char ch, unsigned n); 
程序例: 

#include <stdio.h> 
#include <string.h> 

int main(void) 

  char *string = "abcdefghijklmnopqrstuvwxyz"; 
  char letter = 'x'; 

  printf("string before strnset: %s\n", string); 
  strnset(string, letter, 13); 
  printf("string after strnset: %s\n", string); 

  return 0; 


 
 

函数名: strpbrk 
功 能: 在串中查找给定字符集中的字符 
用 法: char *strpbrk(char *str1, char *str2); 
程序例: 

#include <stdio.h> 
#include <string.h> 

int main(void) 

  char *string1 = "abcdefghijklmnopqrstuvwxyz"; 
  char *string2 = "onm"; 
  char *ptr; 

  ptr = strpbrk(string1, string2); 

  if (ptr) 
   printf("strpbrk found first character: %c\n", *ptr); 
  else 
   printf("strpbrk didn't find character in set\n"); 

  return 0; 

 
 
 

函数名: strrchr 
功 能: 在串中查找指定字符的最后一个出现 
用 法: char *strrchr(char *str, char c); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 

  char string[15]; 
  char *ptr, c = 'r'; 

  strcpy(string, "This is a string"); 
  ptr = strrchr(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; 

 
 
 

函数名: strrev 
功 能: 串倒转 
用 法: char *strrev(char *str); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 

  char *forward = "string"; 

  printf("Before strrev(): %s\n", forward); 
  strrev(forward); 
  printf("After strrev(): %s\n", forward); 
  return 0; 

 

函数名: strset 

功 能: 将一个串中的所有字符都设为指定字符 
用 法: char *strset(char *str, char c); 
程序例: 

#include <stdio.h> 
#include <string.h> 

int main(void) 

  char string[10] = "123456789"; 
  char symbol = 'c'; 

  printf("Before strset(): %s\n", string); 
  strset(string, symbol); 
  printf("After strset(): %s\n", string); 
  return 0; 

 
 
 

函数名: strspn 
功 能: 在串中查找指定字符集的子集的第一次出现 
用 法: int strspn(char *str1, char *str2); 
程序例: 

#include <stdio.h> 
#include <string.h> 
#include <alloc.h> 

int main(void) 

  char *string1 = "1234567890"; 
  char *string2 = "123DC8"; 
  int length; 

  length = strspn(string1, string2); 
  printf("Character where strings differ is at position %d\n", length); 
  return 0; 

 
 

函数名: strstr 
功 能: 在串中查找指定字符串的第一次出现 
用 法: char *strstr(char *str1, char *str2); 
程序例: 

#include <stdio.h> 
#include <string.h> 

int main(void) 

  char *str1 = "Borland International", *str2 = "nation", *ptr; 

  ptr = strstr(str1, str2); 
  printf("The substring is: %s\n", ptr); 
  return 0; 

 
 

函数名: strtod 
功 能: 将字符串转换为double型值 
用 法: double strtod(char *str, char **endptr); 
程序例: 

#include <stdio.h> 
#include <stdlib.h> 

int main(void) 

  char input[80], *endptr; 
  double value; 

  printf("Enter a floating point number:"); 

  gets(input); 
  value = strtod(input, &endptr); 
  printf("The string is %s the number is %lf\n", input, value); 
  return 0; 

 
 
 

函数名: strtok 
功 能: 查找由在第二个串中指定的分界符分隔开的单词 
用 法: char *strtok(char *str1, char *str2); 
程序例: 

#include <string.h> 
#include <stdio.h> 

int main(void) 

  char input[16] = "abc,d"; 
  char *p; 

  /* strtok places a NULL terminator 
  in front of the token, if found */ 
  p = strtok(input, ","); 
  if (p)  printf("%s\n", p); 

  /* A second call to strtok using a NULL 
  as the first parameter returns a pointer 
  to the character following the token */ 
  p = strtok(NULL, ","); 
  if (p)  printf("%s\n", p); 
  return 0; 

 
 
 

函数名: strtol 
功 能: 将串转换为长整数 
用 法: long strtol(char *str, char **endptr, int base); 
程序例: 

#include <stdlib.h> 
#include <stdio.h> 

int main(void) 

  char *string = "87654321", *endptr; 
  long lnumber; 

  /* strtol converts string to long integer */ 
  lnumber = strtol(string, &endptr, 10); 
  printf("string = %s long = %ld\n", string, lnumber); 

  return 0; 

 

函数名: strupr 
功 能: 将串中的小写字母转换为大写字母 
用 法: char *strupr(char *str); 
程序例: 

#include <stdio.h> 
#include <string.h> 


int main(void) 

  char *string = "abcdefghijklmnopqrstuvwxyz", *ptr; 

  /* converts string to upper case characters */ 
  ptr = strupr(string); 
  printf("%s\n", ptr); 
  return 0; 

 
 
 

函数名: swab 
功 能: 交换字节 
用 法: void swab (char *from, char *to, int nbytes); 
程序例: 

#include <stdlib.h> 
#include <stdio.h> 
#include <string.h> 

char source[15] = "rFna koBlrna d"; 
char target[15]; 

int main(void) 

  swab(source, target, strlen(source)); 
  printf("This is target: %s\n", target); 
  return 0; 

 
 
 

函数名: system 
功 能: 发出一个DOS命令 
用 法: int system(char *command); 
程序例: 

#include <stdlib.h> 
#include <stdio.h> 

int main(void) 

  printf("About to spawn command.com and run a DOS command\n"); 
  system("dir"); 
  return 0; 

Tags:语言 函数 字母

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接