189 8069 5689

c语言函数和字符串操作 c语言中字符串函数

C语言关于字符串的操作函数有哪些?

字符串连接函数:strcat

盘州网站建设公司创新互联,盘州网站设计制作,有大型网站制作公司丰富经验。已为盘州上千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的盘州做网站的公司定做!

字符串复制函数:strcpy

字符串比较函数:strcmp

测字符串长度函数:strlen

C语言中字符数组及字符串处理函数

一、字符数组的定义

一维字符数组:用于存储和处理1个字符串,其定义格式与一维数值数组一样。

char str[20];

二维字符数组:用于同时存储和处理多个字符串,其定义格式与二维数值数组一样。

char country[10][20];

country[i]:第i个字符串

二.字符数组的初始化

字符数组的初始化.

1.可以通过为每个数组元素指定初值字符来实现。

char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};

char str[ ]={"I am happy"}; 可以省略花括号,如下所示

char str[ ]="I am happy";

char country[10][20]={“china”,”japanese”,……};

注意:上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于字符数组的赋值,字符数组的赋值只能对其元素一一赋值,下面的赋值方法是错误的

char str[15];

str="I am happy";

strcpy(str, "I am happy");

不是用单个字符作为初值,而是用一个字符串(注意:字符串的两端是用双引号“”而不是单引号‘’括起来的)作为初值。

‘a’ “a”区别

三、字符数组的引用

字符数组的逐个字符引用,与引用数值数组元素类似。

(1)字符数组的输入

除了可以通过初始化使字符数组各元素得到初值外,也可以使用getchar()或scanf()函数输入字符。

例如:

char str[10];

…… for(i=0; i10; i++)

{ scanf(\"%c\", str);

fflush(stdin); /*清除键盘输入缓冲区*/

}

这里只是一部分具体你查看这里:

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(字符串) 小写转换为大写

C语言关于字符串的操作函数有哪些

string.h头文件中包含的字符串函数

void *memcpy(void *dest, const void *src, size_t n);//将n字节长的内容从一个内存地址复制到另一个地址;如果两个地址存在重叠,则最终行为未定义

void *memmove(void *dest, const void *src, size_t n);//将n字节长的内容从一个内存地址复制到另一个地址;与memcpy不同的是它可以正确作用于两个存在重叠的地址

void *memchr(const void *s, char c, size_t n);//在从s开始的n个字节内查找c第一次出现的地址并返回,若未找到则返回NULL

int memcmp(const void *s1, const void *s2, size_t n);//对从两个内存地址开始的n个字符进行比较

void *memset(void *, int, size_t);//用某种字节内容覆写一段内存空间

char *strcat(char *dest, const char *src);//在字符串dest之后连接上src

char *strncat(char *dest, const char *src, size_t n);//从src截取n个字符连接在字符串dest之后,返回dest字符串

char *strchr(const char* str, int ch);//从字符串str头开始查找字符ch首次出现的位置

char *strrchr(const char* str,int ch);//从字符串str尾开始查找字符ch首次出现的位置

int strcmp(const char *, const char *);//基于字典顺序比较两个字符串

int strncmp(const char *, const char *, size_t);//基于字典顺序比较两个字符串,最多比较n个字节

int strcoll(const char *, const char *);//基于当前区域设置的字符顺序比较两个字符串

char *strcpy(char* str1, const char* str2);//将str2拷贝给str1

char *strncpy(char* str1, const char* str2, size_t n);//截取str2的n个字符拷贝给str1

char *strerror(int);//返回错误码对应的解释字符串,参见errno.h(非线程安全函数)

size_t strlen(const char *);//返回一个字符串的长度

size_t strspn(const char *s, const char *strCharSet);//从字符串s的起始处开始,寻找第一个不出现在strCharSet中的字符,返回其位置索引值。换句话说,返回从字符串s的起始位置的完全由strCharSet中的字符构成的子串的最大长度。strspn为string span的缩写。不支持多字节字符集。

size_t strcspn(const char *s, const char *strCharSet);//从字符串s的起始处开始,寻找第一个出现在strCharSet中的字符,返回其位置索引值。换句话说,返回从字符串s的起始位置的完全由不属于strCharSet中的字符构成的子串的最大长度。strcspn为string complement span的缩写。不支持多字节字符集。

char *strpbrk(const char *s, const char *strCharSet);//在字符串s中查找strCharSet中任意字符第一次出现的位置的指针值。strpbrk为string pointer break缩写。不支持多字节字符集。

char *strstr(const char *haystack, const char *needle);//在字符串haystack中查找字符串needle第一次出现的位置,heystack的长度必须长于needle

char *strtok(char *strToken, const char *strDelimit );//将一个字符串strToken依据分界符(delimiter)分隔成一系列字符串。此函数非线程安全,且不可重入;但MSVC实现时使用了thread-local static variable因而是线程安全的单仍然是不可重入,即在单线程中不能对两个源字符串交替调用该函数来分析token,应当对一个字符串分析完成后再处理别的字符串。

size_t strxfrm(char *dest, const char *src, size_t n);//根据当前locale转换一个字符串为strcmp使用的内部格式

C语言字符串操作函数

char

s1[256]="abcdefg";

char

s2[256]="123456";

strupr(s1)

//变大写s1就是

ABCDEFG

strlwr(s1)

//变小写s1就是

abcdefg

strlen(s1)

//求长度

返回6

strcpy(s1,s2)

//拷贝后s1="123456"

strcat(s1,s2) //连接s1="abcdefg123456"

strcmp(s1,s2) // 比大小

s1大就返回1

s1小就返回-1

一样大就返回0

C语言字符串处理函数

strcpy(string

,string

)---把后1个复制后放入前一个字符串,空间要够

strcat(string

,string

)

---把后1个剪切后放入前一个字符串,空间要够

strcmp(string

,string

)---比较2个字符串,0为相同,0前1个大,0后1个大

strlen(string

)---字符串长度


文章标题:c语言函数和字符串操作 c语言中字符串函数
文章地址:http://cdxtjz.com/article/hpejcj.html

其他资讯