C语言讲义——字符串库函数
字符串库函数<string.h>
| 求字符串长度(不含结束符’\0’****) | strlen(str) |
|---|---|
| 字符串赋值(可能造成数组越界) | strcpy(str," 水浒传 "); |
| 字符串追加(可能造成数组越界) | strcat(str," 三国演义 ") |
| 字符串比较(小于:-1/等于:0/大于:1****) | strcmp("AAA", "BBB"); |
strlen:自动无视结束符
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
char str1[] = "Trump";
printf("sizeof %d\n", sizeof(str1));
printf("strlen %d\n", strlen(str1));
printf("*******************\n");
char str2[] = "川普";
printf("sizeof %d\n", sizeof(str2));
printf("strlen %d\n", strlen(str2));
return 0;
}
strcpy赋值/复制
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
// 眼见喜、耳听怒、鼻嗅爱、舌尝思、意见欲、身本忧"
char str1[]="眼见喜";
printf("%d\n", sizeof(str1));
printf("%s\n", str1);
printf("**strcpy*******************************\n");
strcpy(str1,"耳听怒");
printf("%d\n", sizeof(str1));
printf("%s\n", str1);
printf("**strcpy不检测大小是否匹配*******************************\n");
int n1 = 1000;
printf("新变量:%d\n", n1);
strcpy(str1,"鼻嗅爱、舌尝思");
printf("%d\n", sizeof(str1));
printf("%s\n", str1);
printf("新变量:%d\n", n1); // n1被破坏了
return 0;
}
注意:strcpy不检测大小是否匹配
char str1[]="眼见喜";
int n1 = 1000;
strcpy(str1,"鼻嗅爱、舌尝思");

strcat(Concatenate·连接)
注意:strcat也不检测大小是否匹配
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
char str1[]="眼见喜";
printf("sizeof %d\n", sizeof(str1));
printf("strlen %d\n", strlen(str1));
printf("%s\n", str1);
printf("**strcat不检测大小是否匹配*******************************\n");
int n1 = 1000;
printf("新变量:%d\n", n1);
strcat(str1, "、耳听怒");
printf("新变量:%d\n", n1);// 被破坏
printf("sizeof %d\n", sizeof(str1));
printf("strlen %d\n", strlen(str1));
printf("%s\n", str1);
return 0;
}
strcmp判等
str1str1:1
str2str3:0
小于:-1
大于:1
等于:0
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
char str1[200]="a";
char str2[200]="b";
char str3[200]="b";
// 使用==判断是错误的
printf("str1==str1:%d\n", str1==str1);
printf("str2==str3:%d\n", str2==str3);// 判断错误
int nCmp;
nCmp = strcmp("a", "b");
printf("小于:%d\n", nCmp);
nCmp = strcmp("b", "a");
printf("大于:%d\n", nCmp);
nCmp = strcmp(str2, str3);
printf("等于:%d\n", nCmp);
return 0;
}
字符串转数字
需要#include <stdlib.h>
| 转整形 | int n = atoi(str); |
|---|---|
| 转浮点型(double****) | double d = atof(str); |
C语言讲义——字符串库函数的更多相关文章
- C语言讲义——字符串
字符数组 C语言字符串就是字符数组. 单写字符,用单引号.如:'A'. 字符串用双引号.如:"A"."ABC". #include <stdio.h> ...
- R语言拆分字符串
R语言拆分字符串 aaa<-"aa;bb;cc"ccc<-strsplit(aaa,split=";") bbb<- unlist(strsp ...
- C语言之字符串处理函数
C语言中字符串处理函数介绍 下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数).所有的C语言编译系统中一般都提供这些函数. 1.puts函数——输出字符串的函数 一般的形式为p ...
- Swift3.0语言教程字符串与URL的数据转换与自由转换
Swift3.0语言教程字符串与URL的数据转换与自由转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与自由转换,字符串中的字符永久保存除了可以 ...
- Swift3.0语言教程字符串与文件的数据转换
Swift3.0语言教程字符串与文件的数据转换 Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中.当然,开发者也可以将写入的内容进 ...
- Swift3.0语言教程字符串转换为数字值
Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...
- Swift3.0语言教程字符串大小写转化
Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...
- C语言学习 —— 字符串的学习(一)
这是本人在学习 C语言有关 字符串内容 时的相关笔记 由于本人技术有限,如有错误,还望指正 C语言中数据类型中只有 字符型(char),而 char型 变量一次只能存储一个字符,在日常工作中经常需要定 ...
- iOS开发-OC语言 (三)字符串
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 24.0px "PingFang SC" } p ...
随机推荐
- 基于 opencv 的图像处理入门教程
前言 虽然计算机视觉领域目前基本是以深度学习算法为主,但实际上很多时候对图片的很多处理方法,并不需要采用深度学习的网络模型,采用目前成熟的图像处理库即可实现,比如 OpenCV 和 PIL ,对图片进 ...
- Luogu P5072 [Ynoi2015]盼君勿忘
题意 给定一个长度为 \(n\) 的序列 \(a\) 和 \(m\) 次询问,第 \(i\) 次询问需要求出 \([l_i,r_i]\) 内所有子序列去重之后的和,对 \(p_i\) 取模. \(\t ...
- 「newbee-mall新蜂商城开源啦」 页面优化,最新版 wangEditor 富文本编辑器整合案例
大家比较关心的新蜂商城 Vue3 版本目前已经开发了大部分内容,相信很快就能够开源出来让大家尝鲜了,先让大家看看当前的开发进度: 开源仓库地址为 https://github.com/newbee-l ...
- 工业4G DTU是什么和普通DTU有什么不同
4G DTU作为一种物联网远程数据传输设备,现今在世界范围内都有非常广泛的应用,根据应用场景的不同,对4G DTU设备支持的功能,硬件设施的要求都有不同,特别是在工业现场,对4G DTU设备的要求非常 ...
- 一个名为不安全的类Unsafe
最近为了更加深入了解NIO的实现原理,学习NIO的源码时,遇到了一个问题.即在WindowsSelectorImpl中的 pollWrapper属性,当我点进去查看它的PollArrayWrapper ...
- [.Net Core 3.0+/.Net 5] System.Text.Json中时间格式化
简介 .Net Core 3.0开始全新推出了一个名为System.Text.Json的Json解析库,用于序列化和反序列化Json,此库的设计是为了取代Json.Net(Newtonsoft.Jso ...
- MSSQL 指定分隔符号 生成数据集
DECLARE @xml VARCHAR(MAX)='磨毛:1 缩率:2 干磨:3 湿摩:4 水洗牢度:5 手感:6 防水:7 PH:8 日晒:9' SET @xml= '<root>'+ ...
- Python中的matplotlib xticks
文章来自 Claroja的CSDN博客,仅做搬运.原文链接 在matplotlib中ticks表示的是刻度,而刻度有两层意思,一个是刻标(locs),一个是刻度标签(tick labels).在作图时 ...
- waf 引擎云原生调研---扫盲
概念: lstio Istio是一个用于服务治理的开放平台 Istio是一个Service Mesh形态的用于服务治理的开放平台 Istio是一个与Kubernetes紧密结合的适用于云原生场景的Se ...
- http 请求体数据--ngx
HTTP包体的长度有可能非常大,不同业务可能对包体读取 处理不相同, 比如waf, 也许会读取body内容或者只是读取很少的前几十字节.所以根据不同业务特性,对http body 数据包处理方式不同, ...