C基础知识(7):字符串
在C语言中,字符串实际上是使用null字符'\0' 终止的一维字符数组。因此,一个以null结尾的字符串,包含了组成字符串的字符。
C编译器会在初始化数组时,自动把'\0'放在字符串的末尾。所以不需要手动添加。
下面例子是一些常用的字符串函数的用法。
#include <stdio.h>
#include <string.h> int main() {
// (1)复制字符串str1 到字符串str2。(str2改变)
char str1[] = "This is a C program.";
char str2[];
strcpy(str2, str1);
printf("%s\n", str2); // This is a C program. // (2)连接字符串str4 到字符串str3 的末尾。(str3改变)
char str3[] = "The program is about ";
char str4[] = "string.";
strcat(str3, str4);
printf("%s\n", str3); // The program is about string. // (3)返回字符串的长度。
int len = strlen(str1);
printf("%d\n", len); // 20 // (4)如果a,b是相同的,则返回0;如果a<b则返回小于0;如果a>b则返回大于 0
char str5[] = "2017-03-01";
char str6[] = "2017-05-29";
char str7[] = "2016-12-25";
char str8[] = "2017-03-01";
int res1 = strcmp(str5, str6);
int res2 = strcmp(str5, str7);
int res3 = strcmp(str5, str8);
printf("%d %d %d\n", res1, res2, res3); // -2 1 0(<0 >0 =0) // (5)返回一个指针,指向字符串str1中字符h的第一次出现的位置。
char *c1 = strchr(str1, 'h');
printf("[*c1] = %c\n", *c1); // h
printf("[c1] = %p\n", c1); // 0x7fff5fd0ae01
printf("[&str1[1]] = %p\n", &str1[]); // 0x7fff5fd0ae01 // (6)返回一个指针,指向字符串str1中字符串is的第一次出现的位置。
char *c2 = strstr(str1, "is");
printf("[*c2] = %c\n", *c2); // i
printf("[c2] = %p\n", c2); // 0x7fff5fd0ae02
printf("[&str1[2]] = %p\n", &str1[]); // 0x7fff5fd0ae02
}
C基础知识(7):字符串的更多相关文章
- java_基础知识_字符串练习题_计算两个字符串的最长公共字串长度
package tek; Java算法——求出两个字符串的最长公共字符串 /** * @Title: 问题:有两个字符串str1和str2,求出两个字符串中最长公共字符串. * @author 匹夫( ...
- PHP基础知识之字符串运算符
两个字符串相加用 . 运算符(类似于+),如$a="str1" . "str2";$b=$a . "str3";=>"str ...
- Oracle数据库基础知识_字符串操作相关2
6.LPAD,RPAD 作用:左/右边的字符串填充一些特定的字符语法: LPAD(string , n, [pad_String]) string:可是字符或者参数 ...
- java 基础知识六 字符串2
java 基础知识六 字符串2 1.String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法 . String 是不可变对象,也就是一旦创建,那么整 ...
- java 基础知识六 字符串1
java 基础知识六 字符串1 String 不是java的基本数据类型 String 不是java的基本数据类型 String 不是java的基本数据类型 字符串是是一个字符序列 1.创建 创建 ...
- Python3基础知识之字符串
1.运算符 * >>> b=a*5>>> b'pythonpythonpythonpythonpython'>>> b.replace('t',' ...
- C#基础知识之字符串比较方法:“==”操作符;RefernceEquals;String.Equals方法;String.Compare方法;String.CompareOrdinal方法。
一.“==”操作符:String.Equals:ReferenceEquals 方法 1.在编程中实际上我们只需要这两种比较,c#中类型也就这两种 (1)值类型的比较:一般我们就是判断两个值类型实例各 ...
- JavaScript基础知识(字符串的方法)
字符串的方法 1.字符串: 在js中被单引号或双引号包起来的内容都是字符串: var t = "true"; console.log(typeof t);// "stri ...
- Python基础知识:字符串
1.Python中大写字母命名的变量,默认为常量,不可修改:列如:MYSQL_CONNECTION = '192.168.1.1' 2.字符串换行输入格式:换行用\隔开,两行分别用引号,制表符\t,换 ...
- Python基础知识之字符串操作方法总结
Python 中字符串也是一种数据类型,针对此数据总结下常用的方法 1,字符串截取,变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾 ...
随机推荐
- java8学习之Predicate深入剖析与函数式编程本质
上次[http://www.cnblogs.com/webor2006/p/8214596.html]对Predicate函数接口进行了初步的学习,其中提到了在未来要学习的Stream中得到了大量的应 ...
- 第十五届四川省省赛 SCU - 4444 Travel
给你一个一共由两种边的完全图 要求你求1到N的最短路 q队列为前沿队列(已探索过且最外围的点) p队列为未探索队列(未探索过的点) depth这个数组的用法并不是代表实际上这个点在第几层 而是防止死 ...
- Python之日期操作及转换详解
# 导入datetime模块,用以操作时间 import datetime # 导入time模块 import time # 获取当前时间 格式: 年-月-日 时:分:秒 . 毫秒 nowTime = ...
- TCP数据段格式+UDP数据段格式详解
TCP 报文格式 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议. TCP 报文段的报头有 10 个必需的字段和 ...
- 04 vue-cli 脚手架、webpack-simple模板项目生成、组件使用
alice https://www.cnblogs.com/alice-bj/p/9317504.html https://www.cnblogs.com/alice-bj/p/9318069.htm ...
- Vue上传通过“服务端签名后直传”上传文件到阿里云 报错 400 Bad Request
我报错的原因是 formData.append('file', file) 放在签名前面了 解决办法 formData.append('file', file) 一定在最后 /** * 上传文件到 o ...
- Python SMTP发送邮件Ⅱ
使用Python发送HTML格式的邮件 Python发送HTML格式的邮件与https://www.xuanhe.net/weixiu/4271.html发送纯文本消息的邮件不同之处就是将MIMETe ...
- web文件系统
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所 ...
- Java进阶知识06 Hibernate一对一单向外键关联(Annotation+XML实现)
1.Annotation 注解版 1.1.创建Husband类和Wife类 package com.shore.model; import javax.persistence.Entity; impo ...
- sql 用表组织数据
一.四种完整性约束 1.实体完整性约束:不允许出现相同记录的数据 2.域完整性约束:对字段进行限定,不得插入不符合限定的数据 3.引用完整性:表与表之间的关系 4.自定义完整性约束:开发人员自己设定对 ...