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 ...
随机推荐
- linux系统软件启动sh脚本
在系统维护中,编写脚本会帮助运维提高效率,现记录一个通用的软件启动脚本.脚本内容如下: #!/bin/bash # 软件启动程序包名称 APP_NAME=datadog-4.2.0.jar # 软件名 ...
- struct.pack()和struct.unpack() 详解(转载)
原文链接:https://blog.csdn.net/weiwangchao_/article/details/80395941 python 中的struct主要是用来处理C结构数据的,读入时先转换 ...
- 硬核卸载Vue(删除)
第一步 查找vue位置 打开 cmd 输入 where vue 第二步 进入文件 直接cv(复制粘贴) 随便打开个文件 第三步 删除vue 删除前缀vue的所有 进入node_modules 删除@v ...
- 较详细的gdb入门教程
本文主要介绍gdb的基础使用.若需了解一些技巧,请访问此篇博客:点这里 本篇教程适用于Windows,macOS及Linux,但由于Windows的自带终端很难用,所以体验可能不太好.Windows ...
- GANSS 87C键盘在Linux无法正常使用的解决办法
前几天在狗东入手可以一把GANSS的87C键盘,满心欢喜拆开来用却发现在开发电脑(Deepin和ubuntu)上F1-F12都不能正常使用,这对一个搞web开发的人来说,无疑是要了我的老命,无奈找各种 ...
- 【有奖众测】给HMS Core文档提建议,赢大奖华为Watch!
为了提升HMS Core开发者的文档体验,提升开发效率,邀请所有开发者体验HMS Core文档,并贡献您的建议. 无论是文档让您困惑的地方,还是您发现的问题,或者您觉得可以做的更好的地方,都可以尽情的 ...
- C++ 设计模式 3:结构型模式
0 结构型模式 让类和类进行组合,获得更大的结构,获得新功能的方式. 1 代理模式 Proxy 模式又被叫做代理模式,是结构型的设计模式之一,它可以 为其他对象提供一种代理以控制对这个对象的访问. 所 ...
- 基于gin的golang web开发:mysql增删改查
Go语言访问mysql数据库需要用到标准库database/sql和mysql的驱动.标准库的Api使用比较繁琐这里再引入另一个库github.com/jmoiron/sqlx. go get git ...
- 微信支付特约商户进件中base64格式图片上传
微信图片上传接口地址:https://api.mch.weixin.qq.com/v3/merchant/media/upload 1.上传方法 1 using HttpHandlerDemo; 2 ...
- Linux内核调度分析(转,侵删)
多任务 并发和并行 Linux作为一个多任务操作系统,必须支持程序的并发执行. 分类 非抢占式多任务 除非任务自己结束,否则将会一直执行. 抢占式多任务(Linux) 这种情况下,由调度程序来决定什么 ...