字母s开头的c语言的工具,C语言库函数(S类字母) - 3
函數名: 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
int main(void)
{
sound(7);
delay(10000);
nosound();
return 0;
}
函數名: spawnl
功 ?能: 創建并運行子程序
用 ?法: int spawnl(int mode, char *pathname, char *arg0,
arg1, ... argn, NULL);
程序例:
#include
#include
#include
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
#include
#include
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
#include
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
#include
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
#include
#include
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
#include
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
{
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
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
#include
#include
#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
#include
int main(void)
{
float x;
double y = 1.5e-100;
printf("Status 87 before error: %x\n", _status87());
x = y; ?/*
y = x;
printf("Status 87 after error : %x\n", _status87());
return 0;
}
函數名: stime
功 ?能: 設置時間
用 ?法: int stime(long *tp);
程序例:
#include
#include
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
#include
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
#include
#include
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
#include
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
#include
int main(void)
{
char *buffer;
buffer = strerror(errno);
printf("Error: %s\n", buffer);
return 0;
}
函數名: strcmpi
功 ?能: 將一個串與另一個比較, 不管大小寫
用 ?法: int strcmpi(char *str1, char *str2);
程序例:
#include
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
#include
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
#include
int main(void)
{
printf("About to spawn command.com and run a DOS command\n");
system("dir");
return 0;
}
總結
以上是生活随笔為你收集整理的字母s开头的c语言的工具,C语言库函数(S类字母) - 3的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 填空题C语言,c语言填空题试卷.doc
- 下一篇: c语言 long和short区别,5分钟