1. 1 什么是字符串?
  2. 字符串是以空字符(\)结尾的字符数组。
    空字符的assii码为:0 空格的ascii码为32
    2 \0的作用
    '\0'是一个空字符标志,它的ASSII码为0C++有好多处理字符串的函数,都以'\0'为结束标记。
    也就是以空字符为结束标记,比如cincout。它们都以空字符为结束标记,他们在遇到空字符后将会停止输入或输出。
  3.  
  4. 3 cin.ignore()
    cin.ignore(a,ch) 从输入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用。每抛弃一个字符,
    它都要计数和比较字符:如果计数值达到a或者被抛弃的字符是ch,则cin.ignore()函数执行终止;否则,它继续等待
    默认参数为cin.ignore(1,EOF),即把EOF前的1个字符清掉,没有遇到EOF就清掉一个字符
    它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响.
  5. 4 cin.get(char[], n) 的结束标记是 \n 换行符。因此遇到空白字符(空格,tab)不会结束。同时在输入结束后,也就是用户输入第一个回车后,cin.get自动为
    当前接受的输入的数组添加字符串结束标记 \0, 因此它实际保存的有效字符是它的第二个参数减1.
  6.  
  7. 5 cin遇到不可见字符(制表符和空格)和空字符('\0')就停止输入。
    cout则只是遇到空字符才停止输出。0
  8.  
  9. 6 char man[] = {"a "} 是一种简写,隐含了字符串结束标记\0 char m[] = {'a', 32, 'b', '\0'};
  10.  
  11. 7 计算字符串长度时,不要忘记最后的空字符'\0' strlen(char型字符串)是计算可见字符的长度(不包括 ascii 0 sizeof(是计算字符串的长度)(含asscii0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. {
  7. cout << "字符数组" << endl;
  8. char man[] = {'J', 'a', 'c', 'k'};
  9. cout << man << endl;
  10. cout << "----------------" << endl;
  11. }
  12.  
  13. {
  14. cout << "字符串" << endl;
  15. char man[] = {'J', 'a', 'c', 'k', '\0'};
  16. cout << man << endl;
  17.  
  18. }
  19.  
  20. {
  21. cout << "空字符的作用" << endl;
  22. char man[];
  23. cin >> man;
  24. cout << man << endl;
  25. }
  26.  
  27. {
  28. char man[];
  29. cin.ignore(, '\n');
  30. //cin.ignore();
  31. cin.get(man, );
  32. cout << man << endl;
  33. }
  34.  
  35. {
  36. char man[];
  37. cin.ignore(, '\n');
  38. //cin.ignore();
  39. cin.get(man, );
  40. cout << man << endl;
  41. }
  42.  
  43. {
  44. char m[] = {'a', , 'b', '\0'};
  45. cout << m << endl;
  46. cout << "----------------" << endl;
  47. }
  48.  
  49. {
  50. char man[] = {"a b"};
  51. cout << man << endl;
  52. }
  53.  
  54. {
  55. char man[] = {"hello world"};
  56. cout << man << endl;
  57. cout << "strlen(man)=" << strlen(man) << endl;
  58. cout << "sizeof(man)=" << sizeof(man) << endl;
  59. man[] = '\0';
  60. cout << "strlen(man)=" << strlen(man) << endl;
  61. cout << "sizeof(man)=" << sizeof(man) << endl;
  62. }
  63.  
  64. return ;
  65. }
  66.  
  67. /* vim: set ts=4 sw=4 sts=4 tw=100 */

18:字符串-char型字符串的更多相关文章

  1. char型字符串(数组)与string型字符串 指针与引用

    一.常指针: int *const p;    //指针不可改变,但是指针指向的数据可以改变. 指向常量的指针: const int *p;    //指针可以改变,但是指针指向的数据不可以改变. 指 ...

  2. 306573704 Char型和string型字符串比较整理(转)

    1.赋值 char赋值: char ch1[] = "give me"; char ch2[] = "a cup"; strcpy(ch1,ch2); cout ...

  3. Char型和string型字符串比较整理

    1.赋值 char赋值: char ch1[] = "give me"; char ch2[] = "a cup"; strcpy(ch1,ch2); cout ...

  4. char型指针和字符串字面量和字符数组

    1.当一个char型指针指向一个字符串字面量(也就是常量字符串)时,该指针必须由const修饰,否则,系统会给出deprecated(不赞成)的警告.原因是:字符串字面量不可改变,当它被一个非cons ...

  5. unsigned char 转字符串:

    通常送显示的都是字符串,对于int long float转字符串有对应的函数,还有sprintf进行格式输出,对于嵌入式和单片机大多都用unsigned char型变量,转字符串需要自己编写函数,需要 ...

  6. C语言---整型字符串转换

    C语言提供了几个标准库函数,能够将随意类型(整型.长整型.浮点型等)的数字转换为字符串.下面是用itoa()函数将整数转 换为字符串的一个样例: # include <stdio.h>   ...

  7. C语言入门(18)——数组与字符串

    用来存放字符量的数组称为字符数组.字符串可以看作一个数组,它的元素是字符型的. 字符数组的定义 形式与前面介绍的数值数组相同.例如: char c[10]; 由于字符型和整型通用,也可以定义为int ...

  8. 31:字符串p型编码

    31:字符串p型编码 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个完全由数字字符('0','1','2',…,'9')构成的字符串str,请写出s ...

  9. 字符串char vchar性能对比补充

    Value CHAR(4) Storage Required VARCHAR(4) Storage Required '' '    ' 4 bytes '' 1 byte 'ab' 'ab  ' 4 ...

随机推荐

  1. chrome浏览器取消置顶的方法

    这两天在使用google chrome浏览器的时候,发现chrome被默认置顶,取消chrome默认的方法为在浏览器上按 “ALT + Space + C”,然后再重开chorme就可以了.

  2. html5 之 canvas 相关知识(一)概念及定义

    什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以 ...

  3. 每天一道LeetCode--118. Pascal's Triangle(杨辉三角)

    Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Retur ...

  4. 实现Foreach遍历

    实现Foreach遍历的集合类,需要实现IEnumerable接口,泛型集合则需要实现IEnumerable<T>接口 using System; using System.Collect ...

  5. 关于在DWZ使用ssh后台查询的几种方式

    1.查询所有记录,并以列表形式查询 DaoImpl public PageBean queryByPage(String hql, List<Object> listobj, int pa ...

  6. UVALive 3645 Objective: Berlin(最大流 :时序模型)

    题意:已知n(n <= 150)个城市和m(m <= 5000)个航班,每个航班有出发地.到达地.乘坐人数.起飞时间和降落时间(时间用时和分表示),求从一个指定城市出发,去往另一个指定城市 ...

  7. 查找-find -grep

    find#.#-name#"*pc"#|#xargs#grep#"Flag" “*.pc”设置要找的文件名grep后面是要找的字符串 #是空格

  8. 巧用Systemtap注入延迟模拟IO设备抖动

    原创文章,转载请注明: 转载自系统技术非业余研究 本文链接地址: 巧用Systemtap注入延迟模拟IO设备抖动 当我们的IO密集型的应用怀疑设备的IO抖动,比如说一段时间的wait时间过长导致性能或 ...

  9. Java中的堆内存、栈内存、静态存储区

    一.栈 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用.但缺点是,存在栈中的数据大小与生存 ...

  10. KnockoutJS(1)-数据模型

    前言 说到数据模型(ViewModel),就不得不提到MVVM模式,接触过WPF和Silverlight的人应该对这个模式比较熟悉. 不熟悉也没多大关系,因为KnockoutJS的使用相对简单. MV ...