补.从零开始学习C语言--C风格字符串
来源:互联网 发布:matlab有mac版付费吗 编辑:程序博客网 时间:2024/05/07 09:02
chars[5]="abcd"; //字符串以"\0"结尾 ,注意这里数组的长度是5,而不是4!
"\0"表示0 是一个转义字符
例子:
chars1[38]="www.yjxsoft";
char s2[]=".com";
请编写一段代码,把字符串s2追加到s1后边
使printf("%s\n",s1);打印结果为 www.yjxsoft.com
#include <stdio.h>int main(void){char s1[38]="www.yjxsoft";char s2[]=".com";int i,j;i=j=0;//while(s1[++i]);////while (s2[j])//{//s1[i++]=s2[j++]; //}for(i; s1[i] != 0; i++){}for(j; s2[j] != 0; j++){s1[i++] = s2[j];}printf("%s \n",s1);getchar();getchar();return 0;}
C风格字符串处理函数:
需掌握函数
strlen(char *a)
计算字符串长度
char*a strcat(char *a, char *b)
连接两个字符串
char*a strncat(char *a, char *b , int n)
把串b前边的n个字符直接连接到a后边
extern int strcmp(const char *s1,const char *s2)
比较字符串s1和s2
当s1<s2时,返回值< 0
当s1==s2时,返回值= 0
当s1>s2时,返回值> 0
extern int strncmp(const char *s1,const char *s2, int maxten)
比较字符串str1和str2的前maxlen个字符
extern int stricmp(const char *s1,const char *s2)
比较字符串s1和s2,但不区分字母的大小写
extern int strincmp(const char *s1,const char *s2, int maxten)
比较字符串str1和str2的前maxlen个字符
, 但不区分字母的大小写
char* strchr(char *str, char c)
在一个字符串中查找给定字符的第一个匹配之处
printf("%s\n",strchr("abcdef123",'c')); 结果显示为:cdef123
char* strstr(char *str1, char *str2)
在一个字符串中查找给定字符串的第一个匹配之处
printf("%s\n",strstr("abcdef123","12")); 结果显示为:123
extern char *strcpy(char* dest, const char *src);
把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
需理解的函数
int strspn(char *str1, char *str2)
返回一个str2字符集中第一次不在str1中出现的字符下标位置
int strcspn(char *str1, char *str2)
返回一个str2字符集中第一次在str1中出现的字符下标位置
char* strrchr(char *str, char c)
在一个字符串中查找给定字符的最后一个匹配之处
printf("%s\n",strrchr("1cdccc1def123d",'1')); 结果为123d
char* strpbrk(char *str1, char *str2)
在串中查找str2字符集中的字符 ,返回第一个位置处的字串
char*srt1 strtok(char *str1, const char *str2)
查找由在第二个串中指定的分界符分隔开的单词,,返回第一个位置处的字串
C风格字符串转换和判断函数:
需添加#include<ctype.h>
函数名
功能
islower
测试是否小写字母, 是返回非零,否则返回零.
isupper
测试是否大写字母, 是返回非零,否则返回零.
isalpha
测试是否字母, 是返回非零,否则返回零.
isalnum
测试是否数字, 是返回非零,否则返回零.
iscntrl
测试是否控制字符, 是返回非零,否则返回零.
isprint
测试是否可打印字符, 是返回非零,否则返回零.
isgraph
测试是否 可打印字符,不含空格,是返回非零,否则返回零.
isdigit
测试是否十进制字符 '0'~'9',是返回非零,否则返回零.
isxdigit
测试是否十六进制字符 '0'~'9',’a’~’f’,’A’~’F’是返回非零,否则返回零.
isblank
测试是否标准空白字符, 是返回非零,否则返回零.
isspace
测试是否空白字符, 是返回非零,否则返回零.
ispunct
测试是否 标点符号, 是返回非零,否则返回零.
转换大小写 需添加#include<ctype.h>
toupper
将小写 转换成大写 如果不是字符 返回原值
tolower
将大写 转换成小写 如果不是字符 返回原值
字符串转换成数值 需要添加#include<stdlib.h>
需掌握函数
atof
从字符串转换成double类型
atoi
从字符串转换成 int 类型
atol
从字符串转换成 long 类型 (long和int类型的取值范围一样)
atoll
从字符串转换成 long long类型
- 补.从零开始学习C语言--C风格字符串
- 补.从零开始学习C语言--C语言补充_goto语句
- 补.从零开始学习C语言--跨函数使用内存
- 补.从零开始学习C语言--获取时间函数
- C语言风格字符串
- 从零开始学习C语言
- 学习C风格字符串
- 补.从零开始学习C语言--scanf的%c前为什么加空格
- 从零开始学习C语言 源代码
- 补.从零开始学习C语言--强制转换和浮点型数据的缺陷
- 补.从零开始学习C语言--运算符补充(自增/自减、三目、逗号)
- C风格字符串[C++]
- 12.从零开始学习C语言--数组
- 13.从零开始学习C语言--函数
- 14.从零开始学习C语言--指针
- 17.从零开始学习C语言--多级指针
- 18.从零开始学习C语言--结构体
- 19.从零开始学习C语言--枚举
- Sicily 1564. HOUSING
- Tomcat 7.0的安装配置
- Sicily 1902. Counting Problem
- 编程之美3:最大公约数问题
- Sicily 1060. Bridging Signals
- 补.从零开始学习C语言--C风格字符串
- plsql(二)
- Sicily 1563. GECKO
- 黑马程序员_<<字符流的缓冲技术和装饰类(BufferedWriter,BufferedReader,LineNumberReader)>>
- oracle sql语句学习
- Sicily 1685. Missile
- C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部
- 编程之道--Book Five - Mainteance
- 【查找--静态查找】简单的顺序查找