c语言字符串函数有哪些

作者&投稿:紫码 (若有异议请与网页底部的电邮联系)
C语言常用的函数有哪些~

C语言库函数,常用库函数有:
1、scanf格式输入函数
2、printf格式输出函数
3、systemdos命令函数
4、sort排序
5、main主函数
6、fgets文件读取字符串函数
7、fputs文件写入字符串函数
8、fscanf文件格式读取函数
9、fprintf文件格式写入函数
10、fopen打开文件函数
11、getchar输入字符函数
12、putchar输出字符函数
13、malloc动态申请内存函数
14、free释放内存函数
15、abs求绝对值数学函数
16、sqrt求平方根数学函数

扩展资料
语言组成:

1、数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2、常量与变量
常量其值不可改变,符号常量名通常用大写。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
3、数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。
4、指针
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
参考资料来源:百度百科-函数

函数名: strrchr
功 能: 在串中查找指定字符的最后一个出现
用 法: char *strrchr(char *str, char c);
举例:
[cpp] view plain copy
char fullname="./lib/lib1.so";
char *ptr;
ptr = strrchr(fullname,'/');
printf("filename is %s",++ptr);
//运行结果:filename is lib1.so


函数名: strchr
功 能: 在串中查找指定字符的第一个出现
用 法: char *strchr(char *str, char c);
举例:
[cpp] view plain copy
char fullname="./lib/lib1.so";
char *ptr;
ptr = strrchr(fullname,'.');
printf("after strchr() is %s",++ptr);
//运行结果:after strchr() is /lib/lib1.so


函数名: strtok
功 能: 在串中查找指定字符的第一个出现
用 法: char *strtok(char *s, char *delim);
说明:
1.strtok函数的实质上的处理是,strtok在s中查找包含在delim中的字符并用NULL(’/0′)来替换,直到找遍整个字符串。这句话有两层含义:(1)每次调用strtok函数只能获得一个分割单位。(2)要获得所有的分割单元必须反复调用strtok函数。
2.strtok函数以后的调用时的需用NULL来替换s.
3.形参s(要分割的字符串)对应的变量应用char s[]=”….”形式,而不能用char *s=”….”形式。
举例:
[cpp] view plain copy
void main()
{
char buf[]=”Golden Global View”;
char* token = strtok( buf, ” “);
while( token != NULL )
{
printf( ”%s “, token );
token = strtok( NULL, ” “);
}
return 0;
}
/*其结果为:

Golden
Global
View
*/


函数名:strncpy
功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中
用法:char *strncpy(char *dest, char *src, int n);
说明:
如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。
如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
举例:
[c-sharp] view plain copy
#include
#include

main()
{
char buf[4];
char *s="abcdefg";

strncpy(buf,s,4);
printf("%s/n",buf);
return 0;
}
/*运行结果:
abcd
*/


函数名: stpcpy
功 能: 拷贝一个字符串到另一个
用 法: char *stpcpy(char *destin, char *source);
举例:
[cpp] view plain copy
#include
#include
int main(void)
{
char string[10];
char *str1 = "abcdefghi";
stpcpy(string, str1);
printf("%s/n", string);
return 0;
}
/*运行结果
abcdefghi
*/


函数名: strcat
功 能: 字符串拼接函数
用 法: char *strcat(char *destin, char *source);
举例:
[cpp] view plain copy
#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;
}
/*运行结果:
Borland C++
*/


函数名: strcmp
功 能: 串比较
用 法: int strcmp(char *str1, char *str2);
看Asic码,str1>str2,返回值 > 0;两串相等,返回0
举例:
[cpp] view plain copy
#include
#include
int main(void)
{
char *buf1 = "aaa", *buf2 = "bbb";
int ptr;
ptr = strcmp(buf2, buf1);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1/n");
else if(ptr < 0)
printf("buffer 2 is less than buffer 1/n");
else
printf("buffer 2 is equal with buffer 1/n");
return 0;
}
/*运行结果:
buffer 2 is greater than buffer 1
*/


函数名: strncmpi
功 能: 将一个串中的一部分与另一个串比较, 不管大小写
用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);
举例:
[cpp] view plain copy
#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;
}


函数名: strcspn
功 能: 在串中查找第一个给定字符集内容的段
用 法: int strcspn(char *str1, char *str2);
举例:
[cpp] view plain copy
#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);
举例:
[cpp] view plain copy
#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);
举例:
[cpp] view plain copy
#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);
举例:
[cpp] view plain copy
#include
#include
int main(void)
{
char *buffer;
buffer = strerror(errno);
printf("Error: %s/n", buffer);
return 0;
}


函数名: strncmp
功 能: 串比较
用 法: int strncmp(char *str1, char *str2, int maxlen);
举例:
[cpp] view plain copy
#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, int len);
举例:
[cpp] view plain copy
#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;
}


函数名: strnset
功 能: 将一个串中的所有字符都设为指定字符
用 法: char *strnset(char *str, char ch, unsigned n);
举例:
[cpp] view plain copy
#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);
举例:
[cpp] view plain copy
#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;
}


函数名: strrev
功 能: 串倒转
用 法: char *strrev(char *str);
举例:
[cpp] view plain copy
#include
#include
int main(void)
{
char *forward = "string";
printf("Before strrev(): %s/n", forward);
strrev(forward);
printf("After strrev(): %s/n", forward);
return 0;
}
/*运行结果:
Before strrev(): string
After strrev(): gnirts
*/


函数名: strstr
功 能: 在串中查找指定字符串的第一次出现
用 法: char *strstr(char *str1, char *str2);
举例:
[cpp] view plain copy
#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);
举例:
[cpp] view plain copy
#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;
}


函数名: strtol
功 能: 将串转换为长整数
用 法: long strtol(char *str, char **endptr, int base);
举例:
[cpp] view plain copy
#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);
举例:
[cpp] view plain copy
#include
#include
int main(void)
{
char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;
/* converts string to upper case characters */
ptr = strupr(string);
printf("%s/n", ptr);
return 0;
}

复制相关函数:memcpy、memmove、strcpy、strncpy
字符串连接函数:strcat、strncat
字符串比较函数:memcmp、strcmp、strcoll、strncmp、strxfrm、
查找函数:memchr、strchr、strcspn、strpbrk、strrchr、strspn、strstr、strtok
其他相关函数:memset、strerror、strlen

复制相关函数:memcpy、memmove、strcpy、strncpy
字符串连接函数:strcat、strncat
字符串比较函数:memcmp、strcmp、strcoll、strncmp、strxfrm、
查找函数:memchr、strchr、strcspn、strpbrk、strrchr、strspn、strstr、strtok
其他相关函数:memset、strerror、strlen


在C语言中,文件的字符串输入\/输出的函数对是什么
测试正确 include <stdio.h> int mystrlen(char s){ int i = 0;while (*s++ != '\\0')i++;return i;} void main(){ char s = "this a test";\/\/11个字符 printf("%d",mystrlen(s));}

C语言:几个简单的字符串函数
\/\/每个函数运行,input char从键盘输入一个要处理的字符串,此程序在vc6.0上编译运行都通过 include <stdio.h> fun1(char a[100]){ char ch;int n,i=0;printf("input char:\\n");ch=getchar();while(ch!='\\n'){ a[i++]=ch;ch=getchar();} n=i;for(i=0;i<n;i++)if(a[...

2018年9月计算机二级C语言考点解析:字符串
这时该指针变量并未具体指向哪一个字符数据。(5)指针变量的值是可以改变的。3.字符串处理函数 C语言中没有对字符串进行合并、比较和赋值的运算符,但几乎所有版本的C语言中都提供了有关的库函数。例如:(1)strcat函数:连接两个字符数组中的字符串 (2)strcpy函数:字符拷贝函数 ...

C语言中的标准函数有哪些
C语言输入输出函数有很多,标准I\/O函数中包含了如下几个常用的函数:scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.int getc(FILE *fp)getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为 (ch = getc(fp)) != EOF.EOF为文件结束...

python函数有哪些
1、print()函数:打印字符串;2、raw_input()函数:从用户键盘捕获字符;3、len()函数:计算字符长度;4、format()函数:实现格式化输出;5、type()函数:查询对象的类型;6、int()函数、float()函数、str()函数等:类型的转化函数;7、id()函数:获取对象的内存地址;8、help()函数:Python的帮助函数...

C语言中如何编写一个字符串复制函数,并在主函数中调用它。
具体实现方法可以参考如下程序:include<stdio.h>void str_copy(char *str1, char *str2) \/\/ 字符串复制函数{ while(*str1++ = *str2++); \/\/ 将字符串str2中的每个字符逐个复制到str1中,直到遇到字符串结束字符'\\0'}void main(){ char s1[] = "abcd"; char s2[5]; ...

C语言字符串处理函数
strcpy(p+strlen(q),r);表示从数组首地址偏移strlen(q),也就是从元素d所在的位置开始复制 这时复制完后数组p的长度为3+5=8(元素d被覆盖)strcat(p,q);表示从数组p的尾部进行连接,这时数组p的长度为8+3=11 而数组p在定义为char p[20],即请求连续开辟20个char类型存储单元,而每个char占一字节...

C语言中测试字符串长度的函数
C语言中测试字符串长度的函数是strlen()函数原型:unsigned int strlen (char *s);头文件:include <string.h>参数说明:s为指定的字符串;功能说明:strlen()用来计算指定的字符串s 的长度,不包括结束字符'\\0';返回值:返回字符串s 的字符数;注意:strlen() 函数计算的是字符串的实际长度,遇到...

C语言,问一个函数,检索并且返回某字符在某字符串中第一次出现的位置...
如下: 函数名: strstr 功 能: 在字符串中查找指定字符串的第一次出现 用 法: char *strstr(char *str1, char *str2); strstr原型:extern char *strstr(char *haystack, char *needle); 头文件:#include <string.h> 功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL...

c语言字符长度函数
正确的答案是5,题目选项有误。首先strlen()函数返回的长度是不包含'\\0',第一个字符为:a 第二个字符为:b 第三个字符为:\\n (换行符)第四个字符为:2 第五个字符为:\\ (\\\\转义为\\)所以答案为5。(下图为实际代码演示)扩展内容:strlen()函数(C语言函数):strlen所作的仅仅是一个计数...

太平区15017114010: C语言关于字符串的操作函数有哪些 -
单晨尔立: string.h头文件中包含的字符串函数 void *memcpy(void *dest, const void *src, size_t n);//将n字节长的内容从一个内存地址复制到另一个地址;如果两个地址存在重叠,则最终行为未定义 void *memmove(void *dest, const void *src, size_t n);...

太平区15017114010: C语言字符串函数 -
单晨尔立: 首先要明白,sizeof不是函数,而是操作符;strlen是函数. 操作符sizeof用来判断对象、类型所占用的内存空间的字节数,strlen是计算一个字符串以字节计的长度.如:sizeof(int)、sizeof(double)、sizeof(char)等是合法的,可以计算出int、...

太平区15017114010: C语言中有哪些字符串处理函数? -
单晨尔立: 你可以看一下头文件string.h和stdio.h里面的相关函数声明,好多好多.这里就不一一列出了……比如下面列出的只是其中一部分…… _CRTIMP char * __cdecl strcpy(char *, const char *); _CRTIMP char * __cdecl strcat(char *, const char *); _...

太平区15017114010: c语言考试,问常用字符串操作函数有那几个? -
单晨尔立: 1.puts(字符数组) 输出2.gets(字符数组) 输入3.strcat(字符数组1,字符数组2) 字符串2接到字符串1的后面4.strcpy和strncpy(字符数组1,字符串2,m) 将字符串2的前m个字符拷到str1中,最后加'\0'5.strcmp(字符串1,字符串2) 两字符串比较6.strlen(字符数组) 字符串的实际长度(不包括'\0')7.strlwr(字符串) 大写转换为小写8.strupr(字符串) 小写转换为大写

太平区15017114010: C语言中对字符串进行操作的标准库函数有哪些 -
单晨尔立: 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比...

太平区15017114010: C语言中string.h中用到的字符串处理函数有哪些??? -
单晨尔立: gets(字符串); puts(字符串); strlen(字符串); strcpy(字符串1,字符串2); strcat(字符串1,字符串2); strcmp(字符串1,字符串2)

太平区15017114010: 求C语言全总字符串函数 -
单晨尔立: C语言字符串大全:void *memccpy (void *dest, const void *src, int c, size_t n);从src所指向的对象复制n个字符到dest所指向的对象中.如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL.void ...

太平区15017114010: 什么是使用字符串处理函数 -
单晨尔立: C语言提供了丰富的字符串处理函数,大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类. 使用这些函数可大大减轻编程的负担.用于输入输出的字符串函数,在使用前应包含头文件"stdio.h",使用其它字符串函数...

太平区15017114010: C语言中怎么提取特定的字符串呀,有这样的函数吗 -
单晨尔立: 有几个函数 你可以根据需求使用 strstr 可以在字符串中查找另一个字符串 用来提取也可以 strchr 可以找字符 sscanf 类似于scanf 可以格式化提取.

太平区15017114010: 求C语言字符串比较函数 -
单晨尔立: int strcmp(const char *str1,const char *str2) {while((*str1==*str2)&&*str1!='\0'){str1++;str2++;}if(*str1=='\0'&&*str2=='\0') return 0;else return 1; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网