c字符串函数大全

合集下载

C语言字符串处理函数大全

C语言字符串处理函数大全

不错不错.
long strtol( const char *nptr, char **endptr, int base );
long wcstol( const wchar_t *nptr, wchar_t **endptr, int base );
unsigned long strtoul( const char *nptr, char **endptr, int base );
void *memchr( const void *buf, int c, size_t count );
在内存中寻找字符c并返回其地址,如果没有找到,返回NULL
C语言中的字符串操作
char *strcat( char *strDestination, const char *strSource );
int strcmp( const char *string1, const char *string2 );
int wcscmp( const wchar_t *string1, const wchar_t *string2 );
int _mbscmp(const unsigned char *string1, const unsigned char *string2 );
在一个字符串里查找一个字串,返回不包含目标串的长度。注意,好像MSDN上说是第一个strCharSet中任意原子的地方。不知道这样的话还有什么意义。
size_t strftime( char *strDest, size_t maxsize, const char *format, const struct tm *timeptr );
size_t wcsftime( wchar_t *strDest, size_t maxsize, const wchar_t *format, const struct tm *timeptr );

C#字符串函数大全

C#字符串函数大全

C#字符串函数大全C#字符串函数大全将包括Len Len(string|varname) 、Trim Trim(string) 、Ltrim Ltrim(string)等多项内容,希望本文能对大家有所帮助。

LenLen(string|varname)返回字符串内字符的数目,或是存储一变量所需的字节数。

TrimTrim(string)将字符串前后的空格去掉LtrimLtrim(string)将字符串前面的空格去掉RtrimRtrim(string)将字符串后面的空格去掉MidMid(string,start,length)从string字符串的start字符开始取得length长度的字符串,如果省略第三个参数表示从start字符开始到字符串结尾的字符串LeftLeft(string,length)从string字符串的左边取得length长度的字符串RightRight(string,length)从string字符串的右边取得length长度的字符串LCaseLCase(string)将string字符串里的所有大写字母转化为小写字母UCaseUCase(string)将string字符串里的所有大写字母转化为大写字母StrCompStrComp(string1,string2[,compare])返回string1字符串与string2字符串的比较结果,如果两个字符串相同,则返回0,如果小于则返回-1,如果大于则返回1 InStrInStr(string1,string2[,compare])返回string1字符串在string2字符串中第一次出现的位置SplitSplit(string1,delimiter[,count[,start]])将字符串根据delimiter拆分成一维数组,其中delimiter用于标识子字符串界限。

如果省略,使用空格("")作为分隔符。

string[] rq1=new string[3]; //此方法比较简洁(分割字符串)rq1 = rq.Split('-'); //单个字符作为分隔符// rq1 = rq.Split(new char[] {'-','-'}); 多个字符作为分隔符count返回的子字符串数目,-1指示返回所有子字符串。

c语言字符串查找函数

c语言字符串查找函数

c语言字符串查找函数【正文】C语言字符串查找函数主要用于在一个字符串中查找指定的子字符串,并返回其位置或者根据需求进行替换、删除等一系列操作。

下面我们将对C语言字符串查找函数进行分类整理。

## strstr函数strstr函数用于在一个字符串中查找指定的子字符串,如果找到了,则返回该子字符串在父字符串中的首地址。

其函数原型为:```cchar *strstr(const char *str1, const char *str2);```参数说明:- str1:用于查找的字符串- str2:需要查找的目标子字符串该函数最常见的应用就是查找字符串中是否包含某个特定的词语,如下所示:```cchar str1[] = "I love C/C++ programming";char target[] = "programming";char *p = strstr(str1, target);printf("%s\n", p); // 输出 "programming"```需要注意的是,如果要判断的目标子字符串不存在,该函数会返回NULL。

## strchr函数strchr函数用于在一个字符串中查找指定的字符,并返回该字符在该字符串中的首地址。

其函数原型为:```cchar *strchr(const char *str, int c);```参数说明:- str:用于查找的字符串- c:需要查找的目标字符,该参数需要转换为int类型该函数可以用于查找某个特定的字符是否存在于字符串中,如下所示:```cchar str[] = "hello";char c = 'l';char *p = strchr(str, c);printf("%s\n", p); // 输出 "llo"```需要注意的是,如果要判断的目标字符不存在,该函数会返回NULL。

C语言函数大全

C语言函数大全

C语言函数大全C语言作为一种广泛应用的计算机编程语言,其函数是程序设计中不可或缺的部分。

C语言函数大全涵盖了C语言中常用的各种函数,包括数学函数、字符串函数、输入输出函数等,本文将对这些函数进行详细介绍。

一、数学函数。

1. abs函数。

abs函数用于返回一个整数的绝对值,其原型为int abs(int x)。

2. pow函数。

pow函数用于计算一个数的幂,其原型为double pow(double x, double y)。

3. sqrt函数。

sqrt函数用于计算一个数的平方根,其原型为double sqrt(double x)。

4. sin函数。

sin函数用于计算一个角度的正弦值,其原型为double sin(double x)。

5. cos函数。

cos函数用于计算一个角度的余弦值,其原型为double cos(double x)。

6. tan函数。

tan函数用于计算一个角度的正切值,其原型为double tan(double x)。

二、字符串函数。

1. strlen函数。

strlen函数用于返回一个字符串的长度,其原型为size_t strlen(const char s)。

2. strcpy函数。

strcpy函数用于将一个字符串复制到另一个字符串中,其原型为charstrcpy(char dest, const char src)。

3. strcat函数。

strcat函数用于将一个字符串追加到另一个字符串的末尾,其原型为char strcat(char dest, const char src)。

4. strcmp函数。

strcmp函数用于比较两个字符串,其原型为int strcmp(const char s1, const char s2)。

5. strchr函数。

strchr函数用于在一个字符串中查找指定字符的位置,其原型为charstrchr(const char s, int c)。

C语言常用库函数介绍

C语言常用库函数介绍

C语言常用库函数介绍C语言作为一种功能强大、使用广泛的编程语言,提供了许多常用的库函数来帮助开发者简化编程工作,提高代码的效率和可读性。

本文将介绍C语言中一些常用的库函数,包括字符串相关函数、数学函数、输入输出函数等。

一、字符串相关函数1. strlen函数功能:计算字符串的长度。

用法:size_t strlen(const char *str);示例:```c#include <string.h>#include <stdio.h>int main() {char str[] = "Hello World";int len = strlen(str);printf("字符串长度为:%d", len);return 0;}```这段代码会输出:字符串长度为:11。

2. strcpy函数功能:将一个字符串复制到另一个字符串。

用法:char *strcpy(char *dest, const char *src);示例:```c#include <string.h>#include <stdio.h>int main() {char src[] = "Hello World";char dest[20];strcpy(dest, src);printf("复制后的字符串为:%s", dest);return 0;}```这段代码会输出:复制后的字符串为:Hello World。

3. strcat函数功能:将一个字符串连接到另一个字符串末尾。

用法:char *strcat(char *dest, const char *src);示例:```c#include <string.h>#include <stdio.h>int main() {char str1[30] = "Hello";char str2[] = " World";strcat(str1, str2);printf("连接后的字符串为:%s", str1);return 0;}```这段代码会输出:连接后的字符串为:Hello World。

C语言字符串函数大全

C语言字符串函数大全

今天总结了下C语言字符串函数。

C语言字符串函数总结:1.字符处理库(ctype)中的函数2.stdio中的字符串和字符输入/输出的函数3.通用实用库stdlib中的字符串转换函数4.字符串处理库string中的字符串处理函数C语言的字符串实际上是存储单个字符的数组,结尾包含一个结束该字符串的特别的字符("空字符",用'\0'表示)。

char string1[]="first"实际上有6个元素。

char color="blue" char * p="blue"注意p[i]不能修改,若需修改应用字符数组。

一、.字符处理库(ctype)中的函数#include<ctype.h>函数原型:int f(int c)isdigit, isalpha, isalnum, isxdigit, islower, isupper, tolower, toupper, isspace,空白字符:新行符\n, 空格,回车''\r",水平制表符"\t", 垂直制表符"\v" isctrl, ispunct, isprint, isalpha二、stdio中的字符串和字符输入/输出的函数int getchar(void) 从标准输入设备读取字符以整数返回char * get(char * s) 从标准输入设备读入字符到数组s直到遇到新行符和文件结束符为止,然后再数组后追加NULL字符int putchar(int c) 打印字符int puts(const char * s) 打印字符串s和新行符int sprintf(char * s, const char * format) 与printf区别在于输出结果存放在s中int sscanf(char * s, const char * format); 与scanf区别在于从数组s读取数据示例1 字符串反转#include <stdio.h> void reverse(char *s) {if(s[0] == '\0') return;else{reverse(&s[1]); putchar(s[0]);}}int main(){char s[100];gets(s);reverse(s);return 0;}输入:sf输出:fs示例2 sscanf和sprintf #include<stdio.h>int main(){int x=1;double y=2.1;char s[100];sprintf(s,"Hello!%d, %f", x, y);puts(s);sscanf(s,"%d%f",&x,&y);printf("x:%d, y:%f", x, y);return 0;}输出:Hello!1, 2.100000x:1, y:2.100000三、stdlib中的字符串转换函数#include<stdlib.h>1. atoi(将字符串转换成整型数)定义函数int atoi(const char *nptr); 函数说明atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

c语言string函数

c语言string函数

c语言string函数
标准 C 语言的string.h头文件中定义了一组有用的函数,被称为字符串处理函数。

字符串就是由字母,数字和符号组成的一行字符序列,通常以字符串结尾显示。

它是一种数据抽象,是用来存储,分析,表示和处理应用程序中的文本数据的一种常见方式。

1.strlen()函数:该函数用来计算字符串的长度,不包括字符串结尾的null字符
'\0'。

该函数所返回的字符数不包括null字符,而只代表字符串中实际的字符数。

2.strcat()函数:该函数的作用是将字符串s2拼接到字符串s1的末尾。

这意味着s1的末尾会出现字符串s2的第一个字符,直到结束符'\0'。

4.strcmp()函数:该函数用于比较两个字符串s1和s2,如果s1>s2,函数会返回正值;如果s1=s2,函数会返回0;如果s1
5.strchr()函数:该函数用于在字符串s1中查找给定字符c。

如果成功,函数会返回指向找到字符的指针;否则,函数会返回NULL。

7.strtok()函数:该函数用于将字符串分割成一系列子字符串,每个子字符串以一个或多个指定的分隔符分隔。

以上就是标准C语言的string.h头文件中的一些常用的字符串处理函数,这些函数主要用于对字符串的操作,如切割,拼接,比较等。

由于 C 语言的数据结构比较简单,因此这个头文件函数的功能也是非常强大的,可以满足各种字符串处理的需求。

C语言字符串函数大全

C语言字符串函数大全

函数名: 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);elseprintf("The character was not found\n");return 0;}函数名: strcmp功能: 串比较用法: int strcmp(char *str1, char *str2);看Asic码,str1>str2,返回值> 0;两串相等,返回0程序例:#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");elseprintf("buffer 2 is less than buffer 1\n");ptr = strcmp(buf2, buf3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n");elseprintf("buffer 2 is less than buffer 3\n");return 0;}函数名: strncmpi功能: 将一个串中的一部分与另一个串比较, 不管大小写用法: int strncmpi(char *str1, char *str2, unsigned maxle n);程序例:#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");elseprintf("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");elseprintf("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 maxle n);程序例:#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 maxle n);程序例:#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); elseprintf("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);elseprintf("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功能: 在串中查找指定字符集的子集的第一次出现程序例:#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功能: 在串中查找指定字符串的第一次出现程序例:#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>{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, val ue);return 0;}函数名: strtok功能: 查找由在第二个串中指定的分界符分隔开的单词用法: char *strtok(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>{char input[16] = "abc,d";char *p;/* strtok places a NULL terminatorin 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;}。

c语言常用函数大全及详解

c语言常用函数大全及详解

C语言常用函数包括:1.printf函数:用于在控制台输出数据。

2.scanf函数:用于从控制台读取用户输入的数据。

3.strlen函数:用于计算字符串的长度。

4.strcmp函数:用于比较两个字符串的大小。

5.strcpy函数:用于将一个字符串复制到另一个字符串中。

6.strcat函数:用于将一个字符串连接到另一个字符串的末尾。

7.strchr函数:用于查找字符串中指定字符的位置。

8.strstr函数:用于查找字符串中指定子串的位置。

9.atoi函数:用于将字符串转换为整数。

10.atof函数:用于将字符串转换为浮点数。

11.malloc函数:用于动态分配内存空间。

12.free函数:用于释放动态分配的内存空间。

13.memcpy函数:用于将一段内存区域的数据复制到另一段内存区域。

14.memset函数:用于将一段内存区域的数据设置为指定的值。

15.abs函数:用于计算整数的绝对值。

16.rand函数:用于生成随机数。

17.srand函数:用于设置随机数生成器的种子。

18.time函数:用于获取当前的系统时间。

19.localtime函数:用于将时间戳转换为本地时间。

20.strtol函数:用于将字符串转换为长整型数。

21.strtod函数:用于将字符串转换为双精度浮点数。

22.fprintf函数:用于将数据格式化输出到文件中。

23.fscanf函数:用于从文件中读取格式化的数据。

24.fgets函数:用于从文件中读取一行数据。

25.fputs函数:用于将数据写入文件中。

26.fopen函数:用于打开文件。

27.fclose函数:用于关闭文件。

28.feof函数:用于判断文件是否已经到达文件末尾。

29.ferror函数:用于判断文件操作是否发生错误。

30.fprintf函数:用于将数据格式化输出到文件中。

C语言库函数使用大全

C语言库函数使用大全

C语言库函数使用大全C语言是一种广泛应用的编程语言,它提供了许多常用的库函数来帮助开发人员简化编写代码的过程。

这些库函数涵盖了各种任务,包括字符串操作、数学计算、文件处理、内存管理等等。

在下面的文章中,我将为您介绍一些重要的C语言库函数。

字符串处理函数:- strlen(const char *str):返回字符串的长度,不包括空字符。

- strcpy(char *dest, const char *src):将源字符串复制到目标字符串。

- strcat(char *dest, const char *src):将源字符串追加到目标字符串的末尾。

- strcmp(const char *str1, const char *str2):比较两个字符串,并返回一个整数表示它们的关系。

- strncpy(char *dest, const char *src, size_t n):将源字符串的前n个字符复制到目标字符串。

数学函数:- sqrt(double x):计算并返回x的平方根。

- abs(int x):返回一个整数的绝对值。

- pow(double x, double y):计算并返回x的y次方。

- sin、cos、tan:分别计算并返回给定角度的正弦、余弦和正切值。

- rand(void):生成并返回一个随机数。

文件处理函数:- fopen(const char *path, const char *mode):打开一个文件,并返回一个指向该文件的指针。

- fclose(FILE *stream):关闭一个已打开的文件。

- fprintf(FILE *stream, const char *format, ...):将格式化的输出写入到一个文件中。

- fscanf(FILE *stream, const char *format, ...):从一个文件中读取格式化的输入。

内存管理函数:- malloc(size_t size):分配一块指定大小的内存空间,并返回指向该空间的指针。

C语言中常见功能函数

C语言中常见功能函数

C语言中常见功能函数在C语言中,有很多常见的功能函数,它们是为了方便程序员在开发过程中进行一些常见操作而设计的。

下面是其中一些常见的功能函数:1.字符串操作函数:- strlen:用于获取字符串的长度。

- strcpy:用于复制字符串。

- strcat:用于拼接两个字符串。

- strcmp:用于比较两个字符串。

- strchr:用于在字符串中查找指定字符。

- strstr:用于在字符串中查找指定子字符串。

2.内存操作函数:- malloc:用于动态分配内存。

- free:用于释放动态分配的内存。

- memcpy:用于内存拷贝。

- memset:用于内存初始化。

3.文件操作函数:- fopen:用于打开文件。

- fclose:用于关闭文件。

- fgets:用于从文件中读取一行数据。

- fputs:用于向文件中写入一行数据。

- feof:用于判断是否到达文件末尾。

4.数学函数:- abs:用于计算绝对值。

- sin、cos、tan:用于计算三角函数值。

- sqrt:用于计算平方根。

- pow:用于计算幂运算。

5.随机数函数:- srand:用于设置随机数种子。

- rand:用于生成随机数。

6.时间函数:7.输入输出函数:- printf:用于向标准输出设备打印输出。

- scanf:用于从标准输入设备读取输入。

8.排序和查找函数:- qsort:用于对数组进行快速排序。

- bsearch:用于在有序数组中进行二分查找。

9.环境变量函数:- getenv:用于获取环境变量的值。

- setenv:用于设置环境变量的值。

10.字符处理函数:- isdigit:用于判断字符是否是数字。

- isalpha:用于判断字符是否是字母。

- isspace:用于判断字符是否是空白字符。

以上只是C语言中常见的一些功能函数,实际上C语言库中还有很多其他功能函数,可以根据需求选择合适的函数来完成相应的操作。

无论是字符串操作、内存操作、文件操作、数学运算,还是随机数生成、时间处理、输入输出以及排序和查找等,C语言提供了丰富的函数库来支持这些常见的功能需求。

C语言字符串操作函数

C语言字符串操作函数

strtok()—字符串分割函数相关函数:index, memchr, rindex, strpbrk, strsep, strspn, strstr头文件:#include <string.h>定义函数:char * strtok(char *s, const char *delim);函数说明:strtok()用来将字符串分割成一个个片段. 参数s 指向欲分割的字符串, 参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符. 在第一次调用时,strtok()必需给予参数s 字符串, 往后的调用则将参数s 设置成NULL. 每次调用成功则返回下一个分割后的字符串指针.返回值:返回下一个分割后的字符串指针, 如果已无从分割则返回NULL.范例#include <string.h>main(){char s[] = "ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";char *delim = "-: ";char *p;printf("%s ", strtok(s, delim));while((p = strtok(NULL, delim)))printf("%s ", p);printf("\n");}执行结果:ab cd ef;gh i jkl;mnop;qrs tu vwx y;z //-与:字符已经被\0 字符取代strstr()—字符串查找函数相关函数:index, memchr, rindex, strchr, strpbrk, strsep, strspn, strtok头文件:#include <string.h>定义函数:char *strstr(const char *haystack, const char * needle);函数说明:strstr()会从字符串haystack 中搜寻字符串needle, 并将第一次出现的地址返回.返回值:返回指定字符串第一次出现的地址, 否则返回0.范例#include <string.h>main(){char * s = "012345678901234567890123456789";char *p;p = strstr(s, "901");printf("%s\n", p);}执行结果:9.01E+21strspn()—字符查找函数相关函数:strcspn, strchr, strpbrk, strsep, strstr头文件:#include <string.h>定义函数:size_t strspn(const char *s, const char * accept);函数说明:strspn()从参数s 字符串的开头计算连续的字符, 而这些字符都完全是accept 所指字符串中的字符.简单的说, 若strspn()返回的数值为n, 则代表字符串s 开头连续有n 个字符都是属于字符串accept 内的字符.返回值:返回字符串s 开头连续包含字符串accept 内的字符数目.范例#include <string.h>main(){char *str = "Linux was first developed for 386/486-based PCs. ";char *t1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";printf("%d\n", strspn(str, t1));}执行结果:5 //计算大小写字母. 不包含" ", 所以返回Linux 的长度.strrchr()—定位字符串中最后出现的指定字符相关函数:index, memchr, rindex, strpbrk, strsep, strspn, strstr, strtok头文件:#include <string.h>定义函数:char * strrchr(const char *s, int c);函数说明:strrchr()用来找出参数s 字符串中最后一个出现的参数c 地址, 然后将该字符出现的地址返回.返回值:如果找到指定的字符则返回该字符所在地址, 否则返回0.范例#include <string.h>main(){char *s = "0123456789012345678901234567890";char *p;p = strrchr(s, '5');printf("%s\n", p);}执行结果:567890strpbrk()—定位字符串中第一个出现的指定字符相关函数:index, memchr, rindex, strpbrk, strsep, strspn, strstr, strtok头文件:#include <include.h>定义函数:char *strpbrk(const char *s, const char *accept);函数说明:strpbrk()用来找出参数s 字符串中最先出现存在参数accept 字符串中的任意字符.返回值:如果找到指定的字符则返回该字符所在地址, 否则返回0.范例#include <string.h>main(){char *s = "0123456789012345678901234567890";char *p; p = strpbrk(s, "a1 839"); //1 会最先在s 字符串中找到printf("%s\n", p);p = strprk(s, "4398"); //3 会最先在s 字符串中找到printf("%s\n", p);}执行结果:1.23E+29strncat()—字符串连接函数相关函数:bcopy, memccpy, memecpy, strcpy, strncpy头文件:#inclue <string.h>定义函数:char * strncat(char *dest, const char *src, size_t n);函数说明:strncat()会将参数src 字符串拷贝n 个字符到参数dest 所指的字符串尾. 第一个参数dest 要有足够的空间来容纳要拷贝的字符串.返回值:返回参数dest 的字符串起始地址.范例#include <string.h>main(){char a[30] = "string(1)";char b[] = "string(2)";printf("before strncat() :%s\n", a);printf("after strncat() :%s\n", strncat(a, b, 6));}执行结果:before strncat() : string(1)after strncat() : string(1) stringstrncpy()—复制字符串相关函数:bcopy, memccpy, memcpy, memmove头文件:#include <string.h>定义函数:char * strncpy(char *dest, const char *src, size_t n);函数说明:strncpy()会将参数src 字符串拷贝前n 个字符至参数dest 所指的地址.返回值:返回参数dest 的字符串起始地址.范例#inclue <string.h>main(){char a[30] = "string(1)";char b[] = "string(2)";printf("before strncpy() : %s\n", a);printf("after strncpy() : %s\n", strncpy(a, b, 6));}执行结果:before strncpy() : string(1)after strncpy() : string(1)strncasecmp()—字符串比较函数(忽略大小写)相关函数:bcmp, memcmp, strcmp, strcoll, strncmp头文件:#include <string.h>定义函数:int strncasecmp(const char *s1, const char *s2, size_t n);函数说明:strncasecmp()用来比较参数s1 和s2 字符串前n 个字符, 比较时会自动忽略大小写的差异.返回值:若参数s1 和s2 字符串相同则返回0. s1 若大于s2 则返回大于0 的值, s1 若小于s2 则返回小于0 的值.范例#include <string.h>main(){char *a = "aBcDeF";char *b = "AbCdEf";if(!strncasecmp(a, b))printf("%s =%s\n", a, b);}执行结果:aBcDef=AbCdEfstrlen()—字符串长度计算函数相关函数:无头文件:#include <string.h>定义函数:size_t strlen (const char *s);函数说明:strlen()用来计算指定的字符串s 的长度, 不包括结束字符"\0".返回值:返回字符串s 的字符数.范例:/*取得字符串str 的长度*/#include <string.h>main(){char *str = "12345678";printf("str length = %d\n", strlen(str));}执行结果:str length = 8strdup()—复制字符串相关函数:calloc, malloc, realloc, free头文件:#include <string.h>定义函数:char * strdup(const char *s);函数说明:strdup()会先用maolloc()配置与参数s 字符串相同的空间大小, 然后将参数s 字符串的内容复制到该内存地址, 然后把该地址返回. 该地址最后可以利用free()来释放.返回值:返回一字符串指针, 该指针指向复制后的新字符串地址. 若返回NULL 表示内存不足.范例#include <string.h>main(){char a[] = "strdup";char *b;b = strdup(a);printf("b[]=\"%s\"\n", b);}执行结果:b[]="strdup"strcspn()—查找字符串相关函数:strspn头文件:#inclued<string.h>定义函数:size_t strcspn(const char *s, const char * reject);函数说明:strcspn()从参数s 字符串的开头计算连续的字符, 而这些字符都完全不在参数reject 所指的字符串中. 简单地说, 若strcspn()返回的数值为n, 则代表字符串s 开头连续有n 个字符都不含字符串reject 内的字符.返回值:返回字符串s 开头连续不含字符串reject 内的字符数目.范例#include <string.h>main(){char *str = "Linux was first developed for 386/486-based pcs. ";printf("%d\n", strcspn(str, " "));printf("%d\n", strcspn(str, "/-"));printf("%d\n", strcspn(str, "1234567890"));}执行结果:5 //只计算到" "的出现, 所以返回"Linux"的长度33 //计算到出现"/"或"-", 所以返回到"6"的长度30 // 计算到出现数字字符为止, 所以返回"3"出现前的长度strcpy()—复制字符串相关函数:bcopy, memcpy, memccpy, memmove头文件:#include <string.h>定义函数:char *strcpy(char *dest, const char *src);函数说明:strcpy()会将参数src 字符串拷贝至参数dest 所指的地址.返回值:返回参数dest 的字符串起始地址.附加说明:如果参数dest 所指的内存空间不够大, 可能会造成缓冲溢出(buffer Overflow)的错误情况, 在编写程序时请特别留意, 或者用strncpy()来取代.范例#include <string.h>main(){char a[30] = "string(1)";char b[] = "string(2)";printf("before strcpy() :%s\n", a);printf("after strcpy() :%s\n", strcpy(a, b));}执行结果:before strcpy() :string(1)after strcpy() :string(2)strcoll()—字符串比较函数(按字符排列次序)相关函数:strcmp, bcmp, memcmp, strcasecmp, strncasecmp头文件:#include <string.h>定义函数:int strcoll(const char *s1, const char *s2);函数说明:strcoll()会依环境变量LC_COLLATE 所指定的文字排列次序来比较s1 和s2 字符串.返回值:若参数s1 和s2 字符串相同则返回0. s1 若大于s2 则返回大于0 的值. s1 若小于s2 则返回小于0 的值.附加说明:若LC_COLLATE 为"POSIX"或"C", 则strcoll()与strcmp()作用完全相同.范例参考strcmp().strcmp()—字符串比较函数(比较字符串)相关函数:bcmp, memcmp, strcasecmp, strncasecmp, strcoll头文件:#include <string.h>定义函数:int strcmp(const char *s1, const char *s2);函数说明:strcmp()用来比较参数s1 和s2 字符串. 字符串大小的比较是以ASCII 码表上的顺序来决定, 此顺序亦为字符的值. strcmp()首先将s1 第一个字符值减去s2 第一个字符值, 若差值为0 则再继续比较下个字符, 若差值不为0 则将差值返回. 例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33).返回值:若参数s1 和s2 字符串相同则返回0. s1 若大于s2 则返回大于0 的值. s1 若小于s2 则返回小于0 的值.范例#include <string.h>main(){char *a = "aBcDeF";char *b = "AbCdEf";char *c = "aacdef";char *d = "aBcDeF";printf("strcmp(a, b) : %d\n", strcmp(a, b));printf("strcmp(a, c) : %d\n", strcmp(a, c));printf("strcmp(a, d) : %d\n", strcmp(a, d));}执行结果:strcmp(a, b) : 32strcmp(a, c) :-31strcmp(a, d) : 0strchr()—字符串查找函数(返回首次出现字符的位置) 相关函数:index, memchr, rinex, strbrk, strsep, strspn, strstr, strtok头文件:#include <string.h>定义函数:char * strchr (const char *s, int c);函数说明:strchr()用来找出参数s 字符串中第一个出现的参数c 地址, 然后将该字符出现的地址返回.返回值:如果找到指定的字符则返回该字符所在地址, 否则返回0.范例#include <string.h>main(){char *s = "0123456789012345678901234567890";char *p;p = strchr(s, '5');printf("%s\n", p);}执行结果:5.68E+25strcat()—连接字符串相关函数:bcopy, memccpy, memcpy, strcpy, strncpy头文件:#include <string.h>定义函数:char *strcat(char *dest, const char *src);函数说明:strcat()会将参数src 字符串拷贝到参数dest 所指的字符串尾. 第一个参数dest 要有足够的空间来容纳要拷贝的字符串.返回值:返回参数dest 的字符串起始地址范例#include <string.h>main(){char a[30] = "string(1)";char b[] = "string(2)";printf("before strcat() : %s\n", a);printf("after strcat() : %s\n", strcat(a, b));}执行结果:before strcat() : string(1)after strcat() : string(1)string(2)strcasecmp()—字符串比较函数(忽略大小写比较字符串) 相关函数:bcmp, memcmp, strcmp, strcoll, strncmp头文件:#include <string.h>定义函数:int strcasecmp (const char *s1, const char *s2);函数说明:strcasecmp()用来比较参数s1 和s2 字符串, 比较时会自动忽略大小写的差异.返回值:若参数s1 和s2 字符串相同则返回0. s1 长度大于s2 长度则返回大于0 的值, s1 长度若小于s2 长度则返回小于0 的值.范例#include <string.h>main(){char *a = "aBcDeF";char *b = "AbCdEf";if(!strcasecmp(a, b))printf("%s=%s\n", a, b);}执行结果:aBcDeF=AbCdEfrindex()—字符串查找函数(返回最后一次出现的位置)相关函数:index, memchr, strchr, strrchr头文件:#include <string.h>定义函数:char * rindex(const char *s, int c);函数说明:rindex()用来找出参数s 字符串中最后一个出现的参数c 地址, 然后将该字符出现的地址返回. 字符串结束字符(NULL)也视为字符串一部分.返回值:如果找到指定的字符则返回该字符所在的地址, 否则返回0.范例#include <string.h>main(){char *s = "0123456789012345678901234567890";char *p;p = rindex(s, '5');printf("%s\n", p);}执行结果:567890index()—字符串查找函数(返回首次出现的位置)相关函数:rindex, srechr, strrchr头文件:#include <string.h>定义函数:char * index(const char *s, int c);函数说明:index()用来找出参数s 字符串中第一个出现的参数c 地址, 然后将该字符出现的地址返回. 字符串结束字符(NULL)也视为字符串一部分.返回值:如果找到指定的字符则返回该字符所在地址, 否则返回0.范例#include <string.h>main(){char *s = "0123456789012345678901234567890";char *p;p = index(s, '5');printf("%s\n", p);}执行结果:5.68E+25toupper()—字符串转换函数(小写转大写)相关函数:isalpha, tolower头文件:#include <ctype.h>定义函数:int toupper(int c);函数说明:若参数 c 为小写字母则将该对应的大写字母返回.返回值:返回转换后的大写字母, 若不须转换则将参数c 值返回.范例/* 将s 字符串内的小写字母转换成大写字母*/#include <ctype.h>main(){char s[] = "aBcDeFgH12345;!#$";int i;printf("before toupper() : %s\n", s);for(i = 0; I < sizeof(s); i++)s[i] = toupper(s[i]);printf("after toupper() : %s\n", s);}执行结果:before toupper() : aBcDeFgH12345;!#$after toupper() : ABCDEFGH12345;!#$tolower()—字符串转换函数(大写转小写)作相关函数:isalpha, toupper头文件:#include <stdlib.h>定义函数:int tolower(int c);函数说明:若参数 c 为大写字母则将该对应的小写字母返回.返回值:返回转换后的小写字母, 若不须转换则将参数c 值返回.范例/* 将s 字符串内的大写字母转换成小写字母*/#include <ctype.h>main(){char s[] = "aBcDeFgH12345;!#$";int i;printf("before tolower() : %s\n", s);for(i = 0; I < sizeof(s); i++)s[i] = tolower(s[i]);printf("after tolower() : %s\n", s);}执行结果:before tolower() : aBcDeFgH12345;!#$after tolower() : abcdefgh12345;!#$toascii()—将整数转换成合法的ASCII码字符相关函数:isascii, toupper, tolower头文件:#include <ctype.h>定义函数:int toascii(int c);函数说明:toascii()会将参数c 转换成7 位的unsigned char 值, 第八位则会被清除, 此字符即会被转成ASCII码字符.返回值:将转换成功的ASCII 码字符值返回.范例/* 将int 型a 转换成ASSII 码字符*/#include <stdlib.h>main(){int a = 217;char b;printf("before toascii() : a value =%d(%c)\n", a, a);b = toascii(a);printf("after toascii(): a value =%d(%c)\n", b, b);}执行结果:before toascii() : a value =217()after toascii() : a value =89(Y)strtoul()—将字符串转换成无符号长整型数相关函数:atof, atoi, atol, strtod, strtol头文件:#include <stdlib.h>定义函数:unsigned long int strtoul(const char *nptr, char **endptr, int base);函数说明:strtoul()会将参数nptr 字符串根据参数base 来转换成无符号的长整型数。

(完整版)C语言字符串操作总结大全(超详细)

(完整版)C语言字符串操作总结大全(超详细)
功能:将字符串source接到字符串target的后面
例程:
#include <iostream.h>
#include <string.h>
void main(void)
{
char str1[] = { "Tsinghua "};
char str2[] = { "Computer"};
cout <<strcpy(str1,str2)<<endl;
strncpy(char destination[], const char source[], int numchars);
strncpy:将字符串source中前numchars个字符拷贝到字符串destination中。
strncpy函数应用举例
原型:strncpy(char destination[], const char source[], int numchars);
C语言字符串操作总结大全(超详细)
1)字符串操作
strcpy(p, p1)复制字符串
strncpy(p, p1, n)复制指定长度字符串
strcat(p, p1)附加字符串
strncat(p, p1, n)附加指定长度字符串
strlen(p)取字符串长度
strcmp(p, p1)比较字符串
strcasecmp忽略大小写比较字符串
查找字串string中首次出现的位置, NULL结束符也包含在查找中.返回一个指针,指向字符c在字符串string中首次出现的位置,如果没有找到,则返回NULL.
char *strrchr(const char *string, int c);

C语言字符串大全

C语言字符串大全
函数功能:将字符串全部翻转,返回指针指向翻转后的字符串。
30、char *strstr (const char *s1, const char *s2);
函数功能:在字符串s1中搜索字符串s2。如果搜索到,返回指针指向字符串s2第一次出现的位置;否则返回NULL。
31、char *strtok (char *s1, const char *s2);
函数功能:复制字符串src到dest中,最多复制maxlen个字符。返回指针为dest的值。
24、int strnicmp(const char *s1, const char *s2, size_t maxlen);
axlen个字符。返回值是s1与s2第一个不同的字符差值。
函数功能:返回指针指向字符串s1中字符串s2的任意字符第一次出现的位置;如果未出现返回NULL。
28、char *strrchr (const char *s, int c);
函数功能:在字符串s中搜索字符c。如果搜索到,返回指针指向字符c最后一次出现的位置;否则返回NULL。
29、char *strrev (char *s);
15、size_t strspn (const char *s1, const char *s2);
函数功能:返回值是字符串s1的完全由包含在字符串s2中的字符组成的初始串长度。
16、char *strdup (const char *s);
函数功能:得到一个字符串s的复制。返回指针指向复制后的字符串的首地址。
25、char *strnset (char *s, int ch, size_t n);
函数功能:设置字符串s中的前n个字符全为字符c。返回指针为s的值。
26、char *strset (char *s, int ch);

C语言-字符串函数大全和详解

C语言-字符串函数大全和详解

函数返回strDestination值.
char *strncat(char *strDestination, const char *strSource, size_t count);
将源串strSource开始的count个字符添加到目标串strDest后. 源串strSource的字符会覆盖目标串strDestination后面的结束符NULL. 如果count大于源串长度, 则会用源串的长度值替换count值. 得到的新串后面会自动加上NULL结束符. 与strcat函数一样, 本函数不能处理源串与目标串重叠的情况.
函数返回strDestination值.
char *strset(char *string, int c);
将string串的所有字符设置为字符c, 遇到NULL结束符停止.
函数返回内容调整后的string指针.
char *strnset(char *string, int c, size_t count);
char *strcat(char *strDestination, const char *strSource);
将源串strSource添加到目标串strDestination后面, 并在得到的新串后面加上NULL结束符. 源串strSource的字符会覆盖目标串strDestination后面的结束符NULL. 在字符串的复制或添加过程中没有溢出检查, 所以要保证目标串空间足够大. 不能处理源串与目标串重叠的情况.
获取字符串长度, 字符串结束符NULL不计算在内.
没有返回值指示操作错误.
char *strrev(char *string);
将字符串string中的字符顺序颠倒过来. NULL结束符位置不变.

C语言中常用函数大全

C语言中常用函数大全
注意: 这里原始内‎存中 的数据‎还是保 持不‎变的。当 内存不再‎使用时 ,应使用 fr ‎ee()函数将内存‎块释放。
(三)文件函数
mode: r:打开已存在‎文件,准备从文件‎中读取数据‎ ,不能写入 r+ :可读可写
w:创建一个新‎文件,准备写入;如文件已存‎在,此文件将被 ‎空文件覆盖‎ w+:增加“读取”操作
2;字符ar(int c) 正常返回字‎ 符代码值,出错返回 E‎ OF (2)int putc(int c,FILE*strea‎ m) 正常返回字‎ 符代码值,出错返回 E‎ OF strea‎ m==stdou‎ t(1)=(2) (3)int puts(char*strea‎ m) 自动回车换‎ 行
a:打开已存在‎文件,准备在文件‎尾部追加数‎ 据,不能读取。 如文件不存‎在,侧创建此文 ‎ 件,准备写入。
a+:增加“读取”
t:打开一个文‎ 本文件(缺省值) b:打开一个二‎ 进制文件
一:文件的打开‎ 与关闭 1:打开文件 FILE * fopen‎ (char*filen‎ ame, char*mode) Filen‎ame:是字符串,表示打开的‎文件名,文件名前可 ‎ 以带路径。 Mode:也是字符串‎,表示打开文‎ 件的方式。 功能----按指定方式‎ 打开文件。 返回值----如果文件打‎开成功,返回“文件结构体 ‎ 指针”,否者返回 N‎ ULL(如:文件不存在 ‎ 或则 写文件‎时不能创建‎ )。 Fopen‎(“A:\\user\\asd.txt”,”r+”); 2:关闭文件 Int*fclos‎ e(FILE*filen‎ ame) 正常关闭返‎ 回0;否者返回 非 0。
With:指定输入数‎ 据的宽度,遇空格、Tab、\n 结束

c语言常见函数

c语言常见函数

c语言常见函数C语言是一种广泛应用于软件开发领域的编程语言,它具有简单、高效、灵活等优势。

在C语言中,函数是实现代码模块化的重要方式之一。

本文将介绍一些常见的C语言函数,包括输入输出函数、数学函数、字符串函数和数组函数。

一、输入输出函数1. printf函数printf函数用于将字符串或其他数据输出到屏幕。

它的基本语法是:```cprintf("格式控制字符串", 参数列表);```其中,格式控制字符串指定了输出内容的格式,参数列表则是要输出的数据。

示例如下:```cint num = 10;printf("数字:%d", num);```2. scanf函数scanf函数用于从键盘读取输入。

它的基本语法是:scanf("格式控制字符串", 参数列表);```其中,格式控制字符串指定了输入内容的格式,参数列表是接收输入的变量。

示例如下:```cint num;scanf("%d", &num);```二、数学函数1. abs函数abs函数返回一个整数的绝对值。

它的基本语法是:```cint abs(int x);```示例如下:```cint num = -5;int absNum = abs(num);2. pow函数pow函数用于计算一个数的指数幂。

它的基本语法是:```cdouble pow(double x, double y);```其中,x为底数,y为指数。

示例如下:```cdouble result = pow(2, 3);```三、字符串函数1. strlen函数strlen函数返回一个字符串的长度。

它的基本语法是:```csize_t strlen(const char *s);```其中,s是要计算长度的字符串。

示例如下:```cchar str[] = "Hello World";size_t length = strlen(str);```2. strcpy函数strcpy函数将一个字符串复制到另一个字符串中。

C语言字符串操作总结大全(超详细)

C语言字符串操作总结大全(超详细)

C语⾔字符串操作总结⼤全(超详细)strcpy(p, p1) 复制字符串strncpy(p, p1, n) 复制指定长度字符串strcat(p, p1) 附加字符串strncat(p, p1, n) 附加指定长度字符串strlen(p) 取字符串长度strcmp(p, p1) ⽐较字符串strcasecmp忽略⼤⼩写⽐较字符串strncmp(p, p1, n) ⽐较指定长度字符串strchr(p, c) 在字符串中查找指定字符strrchr(p, c) 在字符串中反向查找strstr(p, p1) 查找字符串strpbrk(p, p1) 以⽬标字符串的所有字符作为集合,在当前字符串查找该集合的任⼀元素strspn(p, p1) 以⽬标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任⼀元素的偏移strcspn(p, p1) 以⽬标字符串的所有字符作为集合,在当前字符串查找属于该集合的任⼀元素的偏移* 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符strtod(p, ppend) 从字符串 p 中转换 double 类型数值,并将后续的字符串指针存储到 ppend 指向的 char* 类型存储。

strtol(p, ppend, base) 从字符串 p 中转换 long 类型整型数值,base 显式设置转换的整型进制,设置为 0 以根据特定格式判断所⽤进制,0x, 0X 前缀以解释为⼗六进制格式整型,0 前缀以解释为⼋进制格式整型atoi(p) 字符串转换到 int 整型atof(p) 字符串转换到 double 符点数atol(p) 字符串转换到 long 整型isalpha() 检查是否为字母字符isupper() 检查是否为⼤写字母字符islower() 检查是否为⼩写字母字符isdigit() 检查是否为数字isxdigit() 检查是否为⼗六进制数字表⽰的有效字符isspace() 检查是否为空格类型字符iscntrl() 检查是否为控制字符ispunct() 检查是否为标点符号isalnum() 检查是否为字母和数字isprint() 检查是否是可打印字符isgraph() 检查是否是图形字符,等效于 isalnum() | ispunct()功能:将字符串source拷贝到字符串destination中例程:#include <iostream.h>#include <string.h>void main(void){ char str1[10] = { "TsinghuaOK"}; char str2[10] = { "Computer"}; cout <<strcpy(str1,str2)<<endl;}运⾏结果是:Computer第⼆个字符串将覆盖掉第⼀个字符串的所有内容!注意:在定义数组时,字符数组1的字符串长度必须⼤于或等于字符串2的字符串长度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言字符串函数大全函数名: 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);elseprintf("The character was not found\n");return 0;函数名: strcmp功能: 串比较用法: int strcmp(char *str1, char *str2);看Asic码,str1>str2,返回值> 0;两串相等,返回0程序例:#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");elseprintf("buffer 2 is less than buffer 1\n");ptr = strcmp(buf2, buf3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n");elseprintf("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");elseprintf("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");elseprintf("buffer 2 is less than buffer 3\n");return(0);}功能: 把串中的一部分与另一串中的一部分比较, 不管大小写用法: 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;}功能: 串拷贝用法: 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>{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>{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);elseprintf("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);elseprintf("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 terminatorin front of the token, if found */p = strtok(input, ",");if (p) printf("%s\n", p);/* A second call to strtok using a NULLas the first parameter returns a pointerto 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;}来自:gold>。

相关文档
最新文档