字符串库函数<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. UML类图关系表示

    UML 之 C++类图关系全面剖析 分类: 软件设计与架构2008-10-16 08:52 5165人阅读 评论(3) 收藏 举报 umlc++borderclasscblog UML的类图关系分为: ...

  2. 妙用 Intellij IDEA 创建临时文件,Git 跟踪不到的那种

    | 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it ...

  3. c#mysql数据库

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. 13、form组件

    Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...

  5. leetcode72:combinations

    题目描述 给出两个整数n和k,返回从1到n中取k个数字的所有可能的组合 例如: 如果n=4,k=2,结果为 [↵ [2,4],↵ [3,4],↵ [2,3],↵ [1,2],↵ [1,3],↵ [1, ...

  6. Spark架构与原理这一篇就够了

    一.基本介绍 是什么? 快速,通用,可扩展的分布式计算引擎. 弹性分布式数据集RDD RDD(Resilient Distributed Dataset)弹性分布式数据集,是Spark中最基本的数据( ...

  7. ASP.NET MVC过滤器粗略总结

    mvc的过滤器总共分为:授权认证过滤器.行为过滤器.异常过滤器.自定义行为过滤器 授权认证过滤器: 异常过滤器: 行为过滤器的调用顺序: 几个过滤器在Controler的使用

  8. ctf堆叠注入总结(持续更新)

    第一种 1';USE db_name;SET @sql=CONCAT('sql contents');PREPARE stmt_name FROM @sql;EXECUTE stmt_name; 第二 ...

  9. jsp 和servlet基础知识

    1  在tomcat服务器当中,4**表示客户端请求错误,5**表示程序错误 2.request知识参考网址:http://wenku.baidu.com/link?url=wYwTGk8XKrLzA ...

  10. RTSP服务端开发概述

    一 概述 RTSP(Real Time Streaming Protocol),RFC2326,实时音视频流传输协议,是TCP/IP协议体系中的一个应用层协议.该协议定义了一对多应用程序如何有效地通过 ...