C语言学习常用函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言学习常用函数
1.strstr()和strrchr()if (strstr(buff, "ION BETA") != NULL)判断
包含文件:string.h
函数名: strstr
函数原型:extern char *strstr(const char *str1, const char *str2);
语法:* strstr(str1,str2)
str1: 被查找目标string expression to search.
str2: 要查找对象The string expression to find.
返回值:若str2是str1的子串,则先确定str2在str1的第一次出现的位置,并返回此位置到str1末尾的所有字符;如果str2不是str1的子串,则返回NULL。(注:若想返回str2在str1第一次出现的位置,不是这个函数)。
例子:
charstr[]="1234xyz";
char*str1=strstr(str,"34");
cout< 显示: 34xyz 函数名称:strrchr()相比strstr多了一r表示从右边开始查找 函数原型:char *strrchr(const char *str, char c); 所属库:string.h 函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。 #include #include int main(void) { char string[20]; char *ptr, c = 'r'; strcpy(string, "There are two rings"); ptr = strrchr(string, c); if (ptr) printf("The character %c is at position: %s\n", c, ptr); else printf("The character was not found\n"); return 0; } strrchr返回的指针应当指向"rings"里的'r',而不是“There”或"are"里的'r'。 运行结果是:The character r is at position:rings 2.strcmp(),strncmp(),strncpy(),strcpy() 原型:extern int strcmp(const char *s1,const char * s2); 所在头文件:string.h 功能:比较字符串s1和s2。 一般形式:strcmp(字符串1,字符串2) 说明: 当s1 当s1=s2时,返回值= 0 当s1>s2时,返回正数 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:"A"<"B" "a">"A" "computer">"compare" 特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。 用法:int strncmp(char *str1, char *str2, int maxlen); 说明:此函数功能即比较字符串str1和str2的前maxlen个字符。 1.如果前maxlen字节完全相等,返回值就=0; 2.在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。 3.springf(),printf(),fprintf() 函数功能:把格式化的数据写入某个字符串 函数原型:int sprintf( char *buffer, const char *format *, argument+ … ); 返回值:字符串长度(strlen) 例子: char* who = "I"; char* whom = "CSDN"; sprintf(s, "%s love %s.", who, whom); //产生:"I love CSDN. " 这字符串写到s中 sprintf(s, "%10.3f", 3.1415626); //产生:" 3.142 注意:在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。 4.substr() 函数功能:substr是C++语言函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。 定义:substr(size_type_off=0,size_type_count=npos) 参数:_off所需子字符串的起始位置,字符串中第一个字符索引为0,默认为0. count复制字符数目. 返回值为:子字符串. 备注:若没有制定字符串的长度或者字符串长度超出范围,则返回一个空字符串. 例子: string str,ss; str=”hello world”; ss=substr(3,4);