1.字符串的部分拷贝

① 利用标准库函数strncpy(),可以将一字符串的一部分拷贝到另一个字符串中。strncpy()函数有3个参数:第一个参数是目录字符串;第二个参
数是源字符串;第三个参数是一个整数,代表要从源字符串拷贝到目标字符串中的字符数。如下:

#include<stdio.h>
#include<stdlib.h>
#include <string.h>
int main(int argc, char **argv)
{
char buf[20]="6.0 1257487794/n";
char da[5]={0};
char num[15]={0};
int i=0, j=0;
strncpy(da, buf, 3);
strncpy(num, buf+(strlen(buf)-11) , 10);
printf("buf= %s, da= %s, num= %s/n", buf, da, num);
return 0;
}

在上例中,第一次调用strncpy()函数时,它将源字符串的头3个字符拷贝到da中。第二次调用strncpy()函数时,它将源字符串的最后10个字符拷贝到num中,其实现过程为:

    (1)用strlen()函数计算出buf字符串的长度,即strlen(buf)。
    (2)将buf的长度减去11(10是将要拷贝的字符数再加中间的‘ ’字符),得出buf中剩余的字符数,即 
       pstrlen(buf)-11。
    (3)将strlen(buf)-11和buf的地址相加,得出指向buf中倒数第10个字符的地址的指针, 即buf+
       (strlen(buf)-11)。这个指针就是strncpy()函数的第二个参数。
    (4)在strncpy()函数的第三个参数中指定要拷贝的字符是10。

②倘若用string来定义的变量。则可以使用构造函数来处理,构造函数如下。

String(Char[], Int32, Int32)
    参数分别为字符数组指针,第一个字符起始位置(偏移量),需要拷贝的字符数。示例如下。输出s2=cde
String s1("abcdefg");
String s2(s1,2,3);

实际上,s1处也可以使用char*类型参数

2.常量指针和指针常量


思考方法:const char * name  从右往左看,const离哪个(是char还是指针名)近就是修饰哪个

     ①const * char  name               常量字符,指针指向的内容是常量且不可变,指向的地址可变
②const  char * name 常量字符,指针指向的内容是常量且不可变,指向的地址可变
③char * const   name 常量指针,指针指向的地址是常量且不可变,指向的内容可变
④const char * const  name 常量指针以及常量字符,指针指向及指针指向的内容都不可变

3.new变量的初始化

注意new 变量可以采取下列方式初始化:

int* intp=new int(10);//right!
char* charp=new char('A');//right
int* intp1=new int[5](10);//wrong

4.Switch表达式

Java: int,short,char,byte四种基本类型以及其包装类或者对应的表达式。还有枚举类型enum。

C++:
int,short,char,bool,long,enum。6种类型和其对应表达式。

使用注意:

倘若某个case不带break。则其后的case的代码块都会执行,直到遇到break

倘若多个case使用相同的表达式,则该表达式只会执行一次。

某个case块下可以不用{ }。

例如:

int sum=0;
switch(sum)
{
case 0:
case 1 :
cout<<" 1";
case 2:
cout<<" 2"<<endl;break;
case 3:
cout<<" 3"<<endl;break;
}

sum=0 时输出 1 2。

C++知识点总结(二)的更多相关文章

  1. java基础知识点补充---二维数组

    #java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...

  2. 前端新人学习笔记-------html/css/js基础知识点(二)

    4月7日学到的知识点:     一:<img src="1.png" alt="美女"/> alt是给图片添加介绍,当图片没加载出来时,会直接显示a ...

  3. Java 面试知识点解析(二)——高并发编程篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  4. 一些LinuxC的小知识点(二)

    一.read系统调用       系统调用read的作用是:从与文件描述符filedes相关联的文件里读入nbytes个字节的数据,并把它们放到数据区buf中.它返回实际读入的字节数.这可能会小于请求 ...

  5. JS知识点整理(二)

    前言 这是对平时的一些读书笔记和理解进行整理的第二部分,第一部分请前往:JS知识点整理(一).本文包含一些易混淆.遗漏的知识点,也会配上一些例子,也许不是很完整,也许还会有点杂,但也许会有你需要的,后 ...

  6. vue.js 知识点(二)

    关于vue看到有很多的知识点和react有很多相近的地方,比如说路由还有一些简单的运用,但是又有一些不同,比如格式.还有写法的一些不同! 所以在这里我总结一下关于vue 关于路由的一些运用: 路由: ...

  7. 笔记9:winfrom的一些知识点(二)

    一.新建,和删除文件夹 private void button4_Click(object sender, EventArgs e) { Directory.Delete(@"F:\&quo ...

  8. .NET知识点总结二(笔记整合)

    19.什么是类型? 用来定义某一种数据在内存里开辟空间的大小,还可以预置操作此种类型数据的相关方法 20.this关键字在方法中使用时所代表的含义 this指的是当前类的对象,或者父类的类的对象(ba ...

  9. PMP知识点(二)——三点估算的两种方法对活动持续时间估算的影响和如何取舍

    一.准备工作 活动持续时间的估算属于PMBOK中第六章项目时间管理中第五节6.6估算活动持续时间的内容. 三点估算是6.5和7.2(估算成本)中应用到的一种工具和技术.数据流向图参考如下: 其应用到的 ...

  10. Java基础知识点(二)

    前言:Java的基础知识点不能间断. 1.Array和ArrayList的区别 关于Array的用法,参看:http://blog.csdn.net/b_11111/article/details/5 ...

随机推荐

  1. LeetCode:加油站【134】

    LeetCode:加油站[134] 题目描述 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要 ...

  2. CentOS7 添加用户到 sudoers

    1.在装完系统后,CentOS默认普通用户是无法使用sudo命令的,这时我们就需要将登陆的用户加入/etc/sudoers 文件中 假设用户名是yhd 3.切换到超级用户:$ su - 当然输入的 p ...

  3. Effective java -- 8 异常

    第五十七条:只针对异常的情况才使用异常应该都有这个意识吧,就像什么抓索引越界什么的,没有必要. 第五十八条:对可恢复情况使用受检查异常,对编程错误使用运行时异常三种可抛的异常:受检的异常(checke ...

  4. flex DataGroup

    示例1: <?xml version="1.0" encoding="utf-8"?> <s:DataGroup xmlns:fx=" ...

  5. Vue组件通信(传值)

    先介绍一下什么是组件把: 创建组件的两种方式: 全局组件 // 组件就是vue的一个拓展实例 let component=Vue.extend({ data(){ return{ //与vue实例中的 ...

  6. spring装配机制

    spring容器创建bean并通过DI(依赖注入)来协调他们之间的关系,他有三种装配机制: 1. 在XML中显式配置 2. 在Java文件中显式配置 3. 隐式的bean发现机制(组件扫描)和自动装配 ...

  7. debian下配置dynamic printk以及重新编译内核

    在以前的一篇博文<编译debian内核>已经提过了重新编译内核的方法,但是整个过程花费时间较长,并且生成deb包. 这里我采用稍微简单一些的方法,因为我并没有对内核或者驱动代码做任何修改, ...

  8. 让IE6支持max_height、max_width等等

    推荐使用min-height:500px;_height:500px;来解决IE6不能max和min属性的问题.

  9. 通过elasticsearch对日志进行搜索热词统计

    通过logstash搜集日志 这里搜集日志可以使用ELK的一个插件filebeat对日志进行处理,并传输到后端的程序 在这里有一个不好的地方, 如果想要直接使用filebeat将日志发送到elasti ...

  10. hadoop集群增加新节点

    上次hadoop集群一块数据盘报警, 提交工单后维修人员更换硬盘 服务器是dell r720的, 8盘位, 蛋疼的是这些硬盘都是做的单盘raid1,维修人员说必须关机导入硬盘才能正常使用 (服务器就这 ...