字符串库函数<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语言讲义——字符串库函数的更多相关文章

  1. C语言讲义——字符串

    字符数组 C语言字符串就是字符数组. 单写字符,用单引号.如:'A'. 字符串用双引号.如:"A"."ABC". #include <stdio.h> ...

  2. R语言拆分字符串

    R语言拆分字符串 aaa<-"aa;bb;cc"ccc<-strsplit(aaa,split=";") bbb<- unlist(strsp ...

  3. C语言之字符串处理函数

    C语言中字符串处理函数介绍 下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数).所有的C语言编译系统中一般都提供这些函数. 1.puts函数——输出字符串的函数 一般的形式为p ...

  4. Swift3.0语言教程字符串与URL的数据转换与自由转换

    Swift3.0语言教程字符串与URL的数据转换与自由转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与自由转换,字符串中的字符永久保存除了可以 ...

  5. Swift3.0语言教程字符串与文件的数据转换

    Swift3.0语言教程字符串与文件的数据转换 Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中.当然,开发者也可以将写入的内容进 ...

  6. Swift3.0语言教程字符串转换为数字值

    Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...

  7. Swift3.0语言教程字符串大小写转化

    Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...

  8. C语言学习 —— 字符串的学习(一)

    这是本人在学习 C语言有关 字符串内容 时的相关笔记 由于本人技术有限,如有错误,还望指正 C语言中数据类型中只有 字符型(char),而 char型 变量一次只能存储一个字符,在日常工作中经常需要定 ...

  9. iOS开发-OC语言 (三)字符串

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 24.0px "PingFang SC" } p ...

随机推荐

  1. JavaScript核心 Dom Bom

    <div id="time">2020-9-27</div> <script> //文档页面从上往下加载,先有标签才能获取元素对象,script ...

  2. localStorage 用法

    localStorage使用总结   一.什么是localStorage.sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的 ...

  3. 用GitHub Pages搭建博客(二)

    本篇介绍基本GitHub Pages的搭建流程 GitHub账号及仓库创建 登录GitHub,录入用户名.邮箱.密码,创建成功后登录进入. 注册时,邮箱建议不使用QQ邮箱.因为一些第三方部署类网站不支 ...

  4. 优雅手撕bind函数(面试官常问)

    优雅手撕bind函数 前言: 为什么面试官总爱让实现一个bind函数? 他想从bind中知道些什么? 一个小小的bind里面内有玄机? 今天来刨析一下实现一个bind要懂多少相关知识点,也方便我们将零 ...

  5. Windows10系统下Hadoop和Hive开发环境搭建填坑指南

    前提 笔者目前需要搭建数据平台,发现了Windows系统下,Hadoop和Hive等组件的安装和运行存在大量的坑,而本着有坑必填的目标,笔者还是花了几个晚上的下班时候在多个互联网参考资料的帮助下完成了 ...

  6. electron 实现文件下载管理器

    文件下载是我们开发中比较常见的业务需求,比如:导出 excel. web 应用文件下载存在一些局限性,通常是让后端将响应的头信息改成 Content-Disposition: attachment; ...

  7. win10免费通用永久激活秘钥分享 win1020H2正式版序列号推荐

    win10最新永久激活密钥神key如下: win10免费密钥 NW06D-722C0-5X6A1-MQ83B-2ER3D win10免费密钥 NP3KM-NQZD6-X406E-1QPKR-4VRZD ...

  8. Spring Security验证,提示正确的信息

    关于Spring Security的使用,之前也整理过一些笔记,但是在提示信息的时候,总感觉还缺点什么?不管是不是前后端分离,我们都希望在登录验证出现错误的时候,能够提示友好的中文信息. 在前后端不分 ...

  9. vbox复制虚拟机之后修改ethx号使得可以上网

    vbox复制虚拟机之后修改ethx号使得可以上网: (1).改硬件mac编号[此项需要重启] vi /etc/udev/rules.d/70-persistent-net.rules 然后删掉上面一行 ...

  10. iptables-centos|mysql navicat登陆不上

    iptables-centos: vi /etc/sysconfig/iptables service iptables restart ====================== mysql na ...