博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言库函数大全及应用实例十三
阅读量:5166 次
发布时间:2019-06-13

本文共 8319 字,大约阅读时间需要 27 分钟。

原文:

                                        

函数名: stat
功 能: 读取打开文件信息
用 法: int stat(char *pathname, struct stat *buff);
程序例: <?xml:namespace prefix="o" ns="urn:schemas-microsoft-com:office:office"?>

#i nclude

#i nclude
#i nclude

#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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude
#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude
#i nclude

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);
程序例:

#i nclude

#i nclude
#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

int main(void)

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

函数名: strcmpi

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

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

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);
程序例:

#i nclude

#i nclude

int main(void)

{
char *forward = "string";

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

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

posted on
2014-12-12 08:36 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/4158965.html

你可能感兴趣的文章
今天第一次写博客
查看>>
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>
(转)matlab练习程序(HOG方向梯度直方图)
查看>>
『Raid 平面最近点对』
查看>>
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
C语言基础小结(一)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
OO学习总结与体会
查看>>
虚拟机长时间不关造成的问题
查看>>
面试整理:Python基础
查看>>
Python核心编程——多线程threading和队列
查看>>
Program exited with code **** 相关解释
查看>>
植物大战僵尸中文年度版
查看>>
26、linux 几个C函数,nanosleep,lstat,unlink
查看>>
投标项目的脚本练习2
查看>>
201521123107 《Java程序设计》第9周学习总结
查看>>
Caroline--chochukmo
查看>>