原文:http://www.cnblogs.com/xuwenmin888/archive/2013/05/03/3057883.html
strcpy
函数名: strcpy
功 能: 拷贝一个字符串到另一个 用 法: char * strcpy ( char *destin, char *source);
程序例: #include <stdio.h> #include <string.h> int main( void )
{ char string[10];
char *str1 = "abcdefghi" ;
strcpy (string, str1);
printf ( "%s\n" , string);
return 0;
} |
strncpy
函数名: strncpy
原型: char * strncpy ( char *dest, char *src, size_t n);
功能:将字符串src中最多n个字符复制到字符数组dest中(它并不像 strcpy 一样遇到NULL才停止复制,而是等凑够n个字符才开始复制),返回指向dest的指针。
#include <stdio.h> #include <string.h> int main( void )
{ char string[10];
char *str1 = "abcdefghi" ;
strncpy (string, str1,3);
printf ( "%s\n" , string);
return 0;
} |
strcat
函数名: 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
函数名: 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);
else printf ( "The character was not found\n" );
return 0;
} |
strcmp
函数名: 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" );
else printf ( "buffer 2 is less than buffer 1\n" );
ptr = strcmp (buf2, buf3);
if (ptr > 0)
printf ( "buffer 2 is greater than buffer 3\n" );
else printf ( "buffer 2 is less than buffer 3\n" );
return 0;
} |
strnicmp
函数名: strnicmp 功 能: 将一个串中的一部分与另一个串比较, 不管大小写 用 法: int strnicmp( char *str1, char *str2, unsigned maxlen);
程序例: #include <string.h> #include <stdio.h> int main( void )
{ char *buf1 = "BBB" , *buf2 = "bbb" ;
int ptr;
ptr = strnicmp(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;
} |
strlen
函数名: strlen
功能: strlen 函数求的是字符串的长度,它求得方法是从字符串的首地址开始到遇到第一个 '\0' 停止计数,如果你只定义没有给它赋初值,这个结果是不定的,它会从字符串首地址一直记下去,直到遇到 '\0' 才会停止。
原型: size_t strlen ( const char *s);
#include<stdio.h> #include <string.h> int main()
{ int i=0;
char *he = "Hello,world" ;
i= strlen (he);
printf ( "字符串长度为%d\n" ,i);
return 0;
} //
运行结果: 字符串长度为11 |
strcspn
函数名: 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
函数名: 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
函数名: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
函数名: 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
函数名: 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;
} |
strnicmp
函数名: strnicmp 功 能: 不注重大小写地比较两个串 用 法: int strnicmp( 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 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
函数名: strnset 功 能: 将一个字符串前n个字符都设为指定字符 用 法: 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
函数名: 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);
else printf ( "strpbrk didn't find character in set\n" );
return 0;
} |
strrchr
函数名: 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);
else printf ( "The character was not found\n" );
return 0;
} |
strrev
函数名: 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
函数名: 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;
} |
strstr
函数名: 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
函数名: 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
函数名: 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 ( "%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
函数名: 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
函数名: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
函数名: 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语言string.h中常用字符函数介绍的更多相关文章
-
C语言中math.h中常用的函数
1.绝对值 ①函数原型: int abs(int x); 函数功能: 求整数x的绝对值 int number=-1234; abs(number); ②函数原型:double fabs(double ...
-
机器学习之numpy库中常用的函数介绍(一)
1. mat() mat()与array的区别: mat是矩阵,数据必须是2维的,是array的子集,包含array的所有特性,所做的运算都是针对矩阵来进行的. array是数组,数据可以是多维的,所 ...
-
MySQL中常用转换函数介绍
Cast函数:CONVERT函数. 用法:CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transcoding_name). ...
-
oracle 常用sql字符函数介绍
常用字符函数介绍 1.ascii 返回与指定的字符对应的十进制数: SQL>select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') ...
-
string中常用的函数
string中常用的函数 发现在string在处理这符串是很好用,就找了一篇文章放在这里了.. 用 string来代替char * 数组,使用sort排序算法来排序,用unique 函数来去重1.De ...
-
SQL点滴30—SQL中常用的函数
原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很 ...
-
Mysql中常用的函数汇总
Mysql中常用的函数汇总: 一.数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回 ...
-
关于string.h中字符串的操作
string.h中字符操作的函数 注意:**对字符数组的多次操作需要进行赋初值.或者善于用memset()函数进行清空数组的操作.** 否则容易出现错误. string.h文件中函数的用法加 ...
-
ORACLE 常用字符函数
ORACLE 常用字符函数1 ASCII(arg1)返回参数arg1的十进制数字表示.如果数据库设置为ASCII,则采用的是ASCII码字符.如果设置为EBCDIC,则采用的是EBCDIC字符 sel ...
随机推荐
-
fork子进程僵尸问题及解决方案
额,原来用 c 写 cgi 的时候用过 fork .那时候 cgi 的生命很短,所以遇到的问题压根没出现过.这次也是更加深入的对 fork 机制进行了一下了解. 参考这里的文档:http://ju.o ...
-
android之下拉刷新(reflush)
package com.example.reflush; import android.app.ListActivity; import android.os.Bundle; import andro ...
-
Codeforces Round #270 D C B A
谈论最激烈的莫过于D题了! 看过的两种做法不得不ORZ,特别第二种,简直神一样!!!!! 1th:构造最小生成树. 我们提取所有的边出来按边排序,因为每次我们知道边的权值>0, 之后每次把边加入 ...
-
如何实现Echart不刷新页面,多语言切换下的地图数据重新加载,api请求数据加载,soketed数据实时加载
可视化项目中经常用到ecahrt,各种异步加载,连接socket,多语言切换等问题,现在汇总一下: Ecahrt初始化,全局统一init,可以初始化为0,等待后续数据操作 1.如果是api重新请求,数 ...
-
第k个素因子只有3 5 7 的数
题目描述 有一些数的素因子只有3.5.7,请设计一个算法,找出其中的第k个数. 给定一个数int k,请返回第k个数.保证k小于等于100. 测试样例: 3 返回:7 int findKth(int ...
-
Eclipse中代码字体背景变红/变黄/变绿
如图所示:运行之后,突然这样.到底是什么原因导致的呢? : 经过查找资料可知:因为Eclipse中有覆盖代码功能 (绿色表示代码被执行到,红色表示代码没有被执行到,黄色表示代码部分执行到) 怎么解决这 ...
-
postgresql小纪
本来是想在PaaS环境中定位PG数据库的问题,却发现给每个PG实例,就是每个库,分配的密码是加密的,还不能直接查看密码. 登录PG数据库对应的容器,发现使用默认的用户postgres没有密码也可以正常 ...
-
[UE4]圆形的动态材质,使用VectorParameter、Get Dynamic Material、Set Vector Parameter Value
一.新建一个名为M_FriendColor的材质.使用VectorParameter函数 二.新建一个名为FriendFlag的UserWidget,生成随机颜色,并传递给上一步设置的材质参数Colo ...
-
iPhone系统常用文件夹位置
1. [/Applications] 常用软件的安装目录 2. [/private /var/ mobile/Media /iphone video Recorder] iphone v ...
-
debian新增加用户 拥有ROOT权限
方案一 : 已经有了 新增加的用户 但是没有ROOT 权限: 首需要切换到root身份$su -(注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把 ...