c语言符串函数实例 c语言字符串操作函数

C语言字符串函数实现

DString *s初始化时,str表示了一个常量字符串。现在s-str[i+j]=s2.str[j];等于要修改常量字符串的值,不被允许。如需要需要强制转换一下。 char *str改成数组也可以。

创新互联服务项目包括东宝网站建设、东宝网站制作、东宝网页制作以及东宝网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,东宝网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到东宝省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

C语言字符串处理函数

strcpy(string

,string

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

strcat(string

,string

)

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

strcmp(string

,string

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

strlen(string

)---字符串长度

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语言:几个简单的字符串函数

//每个函数运行,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;in;i++)

if(a[i]!=a[i+1])

printf("%c",a[i]);

}

fun2(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;i3;i++)

if('a'=a[i]='z')

printf("%c",a[i]-32);

else

printf("%c",a[i]);

printf("\n");

}

fun3(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;

printf("%d\n",n);

}

fun4(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=n-1;i=0;i--)

printf("%c",a[i]);

}

main()

{

char a[100],b[100],c[100];

fun1(a);

fun2(a);

fun3(b);

fun4(c);

}


网站栏目:c语言符串函数实例 c语言字符串操作函数
当前URL:http://myzitong.com/article/docddds.html