c 字符串 函数

c编辑

strcpy

原型:extern char *strcpy(char *dest,char *src);

用法:#include <string.h>

功能:把src所指由NUL结束的字符串复制到dest所指的数组中。

返回指向dest结尾处字符(NUL)的指针。

举例:

// strcpy.c

#include <syslib.h>

#include <string.h>

main()

{

char *s="Golden Global View";

char d[20];

clrscr();

strcpy(d,s);

printf("%s",d);

getchar();

return 0;

}

strcat

原型:extern char *strcat(char *dest,char *src);

用法:#include <string.h>

功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的‘\0‘)并添加‘\0‘。

返回指向dest的指针。

举例:

// strcat.c

#include <syslib.h>

#include <string.h>

main()

{

char d[20]="Golden Global";

char *s=" View";

clrscr();

strcat(d,s);

printf("%s",d);

getchar();

return 0;

}

strlen

原型:extern int strlen(char *s);

用法:#include <string.h>

功能:计算字符串s的长度

说明:返回s的长度,不包括结束符NULL。

举例:

// strlen.c

#include <syslib.h>

#include <string.h>

main()

{

char *s="Golden Global View";

clrscr();

printf("%s has %d chars",s,strlen(s));

getchar();

return 0;

}

strncat

原型:extern char *strncat(char *dest,char *src,int n);

用法:#include <string.h>

功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的‘\0‘)并添加‘\0‘。

返回指向dest的指针。

举例:

// strncat.c

#include <syslib.h>

#include <string.h>

main()

{

char d[20]="Golden Global";

char *s=" View WinIDE Library";

clrscr();

strncat(d,s,5);

printf("%s",d);

getchar();

return 0;

}

strncpy

原型:extern char *strncpy(char *dest, char *src, int n);

用法:#include <string.h>

功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。

说明:

如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。

如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。

src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

返回指向dest的指针。

举例:

// strncpy.c

#include <syslib.h>

#include <string.h>

main()

{

char *s="Golden Global View";

char *d="Hello, GGV Programmers";

char *p=strdup(s);

clrscr();

textmode(0x00); // enable 6 lines mode

strncpy(d,s,strlen(s));

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

strncpy(p,s,strlen(d));

printf("%s",p);

free(p);

getchar();

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 %dn", 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("%sn", 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 1n");

if (ptr < 0)

printf("buffer 2 is less than buffer 1n");

if (ptr == 0)

printf("buffer 2 equals buffer 1n");

return 0;

}

strerror

功 能: 返回指向错误信息字符串的指针

用 法: char *strerror(int errnum);

程序例:

#include <stdio.h>

#include <errno.h>

int main(void)

{

char *buffer;

buffer = strerror(errno);

printf("Error: %sn", buffer);

return 0;

}

strcmp

功 能: 将一个串与另一个比较

用 法: intstrcmpi(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 1n");

if (ptr < 0)

printf("buffer 2 is less than buffer 1n");

if (ptr == 0)

printf("buffer 2 equals buffer 1n");

return 0;

}

strncmp

功 能: 把串中的一部分与另一串中的一部分比较 (前n个字符)

用 法: int strncmp(char *str1, char *str2,int maxlen);

程序例:

#include <string.h>

#include <stdio.h>

int main(void)

{

char *buf1 = "BBBccc", *buf2 = "bbbccc";

int ptr;

ptr = strncmp(buf2,buf1,3);

if (ptr > 0)

printf("buffer 2 is greater than buffer 1n");

if (ptr < 0)

printf("buffer 2 is less than buffer 1n");

if (ptr == 0)

printf("buffer 2 equals buffer 1n");

return 0;

}

strnicmp

功 能: 不注重大小写地比较两个串的前n个字符

用 法: intstrnicmp(char *str1, char *str2, unsigned maxlen);

程序例:

#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 1n");

if (ptr < 0)

printf("buffer 2 is less than buffer 1n");

if (ptr == 0)

printf("buffer 2 equals buffer 1n");

return 0;

}

strnset

功 能: 将一个串中的所有字符都设为指定字符

用 法: char *strnset(char *str, char ch, unsigned n);

程序例:

#include <stdio.h>

#include <string.h>

int main(void)

{

char letter = ‘x‘;

printf("string beforestrnset: %sn", string);

strnset(string, letter, 13);

printf("string afterstrnset: %sn", 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: %cn", *ptr);

else

printf("strpbrk didn‘t find character in setn");

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: %dn", c, ptr-string);

else

printf("The character was not foundn");

return 0;

}

strrev

功 能: 串倒转

用 法: char *strrev(char *str);

程序例:

#include <string.h>

#include <stdio.h>

int main(void)

{

char *forward = "string";

printf("Before strrev(): %sn", forward);

strrev(forward);

printf("After strrev(): %sn", 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("Beforestrset(): %sn", string);

strset(string, symbol);

printf("Afterstrset(): %sn", 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 %dn", 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: %sn", 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 %lfn", 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 terminator

in front of the token, if found */

p = strtok(input, ",");

if (p) printf("%sn", 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("%sn", 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 = %ldn", 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("%sn", 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: %sn", target);

return 0;

}

PS:isalpha()是字符函数,不是字符串函数,

isalpha

原型:extern int isalpha(int c);

用法:#include <ctype.h>

功能:判断字符c是否为英文字母

说明:当c为英文字母a-z或A-Z时,返回非零值,否则返回零。

举例:

// isalpha.c

#include <syslib.h>

#include <ctype.h>

#include <stdio.h>

main()

{

int c;

clrscr(); // clear screen

printf("Press a key");

for(;;)

{

c=getchar();

clrscr();

printf("%c: %s letter",c,isalpha(c)?"is":"not");

}

return 0; // just to avoid warnings by compiler

}

时间: 2024-10-13 01:02:45

c 字符串 函数的相关文章

sql常用格式化函数及字符串函数

一.常用格式化函数 1.日期转字符串 select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') //2017-09-18 22:41:50 YYYY:年(4和更多位) MM:月份号(01-12) DD:一个月里的日(01-31) HH24:一天的小时数(00-23) MI:分钟(00-59) SS:秒(00-59) 2.字符串转日期 select to_date('2017-09-18','YYYY-MM-DD') //2017-09-

高级字符串函数

查找一个字符串前缀 size_t strspn(char const *str,char const *group) size_t strcspn(char const *str,char const *group) strspn 返回str起始部分匹配group中任意字符的字符数 strcspn他对str字符串起始部分中部与group中任何字符匹配的字符进行技术 在字符串中查找指定字符串最后一次出现的位置 strrstr #include<stdio.h> #include<asser

mysql学习笔记(五)--- 字符串函数、日期时间函数

一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左.取右 6.LENGTH   获取长度(字节为单位) 7.LTRIM/RTRIM/TRIM 去空格(左/右/自定义) 8.STRCMP  字符串比较 9.CONCAT  字符串拼接 10.SUBSTRING  字符串截取 1.CHAR_LENGTH:获取长度(字符为单位) CHAR_LENGTH()

SQL字符串函数

LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWER() .UPPER () :转小写.大写LTRIM():字符串左侧的空格去掉 RTRIM () :字符串右侧的空格去掉 LTRIM(RTRIM('         bb        '))LEFT().RIGHT()  截取取字符串SELECT LEFT('abcdefg',2) SUBSTRI

前端学PHP之字符串函数

前面的话 字符串的处理和分析在任何编程语言中都是一个重要的基础,往往是简单而重要的.信息的分类.解析.存储和显示,以及网络中的数据都需要操作字符串来完成.尤其在web开发中更为重要,程序员大部分工作都是在操作字符串,本文将详细介绍php中的字符串函数 [注意]关于javascript中字符串的属性和方法移步至此 特点 因为php是弱类型语言,所以其他类型的数据一般都可以直接应用于字符串操作函数中,而自己转换成字符串类型进行处理 echo substr( "1234567", 2, 4

Python学习入门教程,字符串函数扩充详解

因有用户反映,在基础文章对字符串函数的讲解太过少,故写一篇文章详细讲解一下常用字符串函数.本文章是对:程序员带你十天快速入门Python,玩转电脑软件开发(三)中字符串函数的详解与扩充. 如果您想学习并参与本教程的完善与写作.请在下方讨论区,回复相关问题.一起完善本文章教程的书写. Python字符串常用函数. 声明字符串变量: str = ‘关注做全栈攻城狮,写代码也要读书,爱全栈,更爱生活.’ 下面所有字符串函数函数,是对变量str进行操作: 求字符串长度: 函数使用: 运行结果: 值得注意

Mysql处理字符串函数(转)

http://www.jb51.net/article/27458.htm 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2.从右开始截取字符串 right(str, length) 说明:right(

MySQL字符串函数、日期时间函数

MySQL字符串函数.日期时间函数 一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左.取右 6.LENGTH   获取长度(字节为单位) 7.LTRIM/RTRIM/TRIM 去空格(左/右/自定义) 8.STRCMP  字符串比较 9.CONCAT  字符串拼接 10.SUBSTRING  字符串截取 1.CHAR_LENGTH:获取长度(字符

(转)驱动开发中使用安全字符串函数

参考链接:http://www.cppblog.com/aurain/archive/2009/09/27/97363.html 一.前言 大量的系统安全问题是由于薄弱的缓冲处理以及由此产生的缓冲区溢出造成的,而薄弱的缓冲区处理常常与字符串操作相关.c/c++语言运行库提供的标准字符串操作函数(strcpy, strcat, sprintf等)不能阻止在超出字符串尾端的写入. 基于Windows XP SP1以及随后的操作系统的Windows DDK版本提供了安全字符串函数(safe strin

字符串函数:获取个数,替换,除空格

--字符串函数--LEN():获取指定参数的字符个数select LEN('中华人民共和国')--CHARINDEX(所需要查询的字符串,源字符串,查询起始位置)-IndexOf().能够找到就返回从1开始的索引,如果不能找到就返回0select CHARINDEX('人民','中华人民共和国')select CHARINDEX('人 民','中华人民共和国')select CHARINDEX('人民','中华人民共和国',2)--UPPER ToUpper() LOWER()--ToLower