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。

最新文章

  1. jquery层级原则器(匹配前一个元素后的所有平辈元素)
  2. firefox中flash经常崩溃
  3. (方法调配)Method Swizzling
  4. 使用工具追踪Entity Framework生成的SQL
  5. nodeschool.io 5
  6. ajax简单案例:字符串返回类型
  7. 再分析 返回值加引用&amp;,const
  8. Eclipse 配置SSH 详解
  9. JW Player 现在支持 Azure 媒体服务
  10. Java堆栈详解 .
  11. PYTHON之批量文件指定字符串替换
  12. CSS3前缀
  13. 实现app上对csdn的文章列表上拉刷新下拉加载以及加入缓存文章列表的功能 (制作csdn app 四)
  14. java基金会 之 HashMap统计csvWord文档
  15. 自己做个 Tag标签
  16. Python爬虫入门教程 45-100 Charles抓取兔儿故事-下载小猪佩奇故事-手机APP爬虫部分
  17. 深入剖析Kubernetes学习笔记:容器基础(05-06)
  18. VC++安装及使用
  19. js unicode转中文 &amp;#26041;&amp;#26696;&amp;#27010;&amp;#36848;&amp;#32852;&amp;#32593;LED&amp;#29031;&amp;#26126;&amp;#26041;&amp;#26696;&amp;#21487;&amp;#25191;&amp;#34892;&amp;#20840;&amp;#37096;&amp;#30340;DALI &amp;#21644;
  20. docker被入侵后.............

热门文章

  1. shell基础part2
  2. basic--factory
  3. c的详细学习(6)函数
  4. css3图片过滤效果
  5. CommonJS与AMD、CMD
  6. 20145210姚思羽《网络对抗技术》逆向及Bof基础实践
  7. grunt小教程
  8. sqoop导入增量数据
  9. 理解javascript this 值
  10. 在元素标签中写简单的js函数