1 什么是字符串?
字符串是以空字符(\)结尾的字符数组。
空字符的assii码为:0, 空格的ascii码为32
2 \0的作用
'\0'是一个空字符标志,它的ASSII码为0,C++有好多处理字符串的函数,都以'\0'为结束标记。
也就是以空字符为结束标记,比如cin,cout。它们都以空字符为结束标记,他们在遇到空字符后将会停止输入或输出。 3 cin.ignore()
cin.ignore(a,ch) 从输入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用。每抛弃一个字符,
它都要计数和比较字符:如果计数值达到a或者被抛弃的字符是ch,则cin.ignore()函数执行终止;否则,它继续等待
默认参数为cin.ignore(1,EOF),即把EOF前的1个字符清掉,没有遇到EOF就清掉一个字符
它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响.
4 cin.get(char[], n) 的结束标记是 \n 换行符。因此遇到空白字符(空格,tab)不会结束。同时在输入结束后,也就是用户输入第一个回车后,cin.get自动为
当前接受的输入的数组添加字符串结束标记 \0, 因此它实际保存的有效字符是它的第二个参数减1. 5 cin遇到不可见字符(制表符和空格)和空字符('\0')就停止输入。
cout则只是遇到空字符才停止输出。0 6 char man[] = {"a "} 是一种简写,隐含了字符串结束标记\0 char m[] = {'a', 32, 'b', '\0'}; 7 计算字符串长度时,不要忘记最后的空字符'\0' strlen(char型字符串)是计算可见字符的长度(不包括 ascii 0) sizeof(是计算字符串的长度)(含asscii0)
#include <iostream>
using namespace std; int main()
{
{
cout << "字符数组" << endl;
char man[] = {'J', 'a', 'c', 'k'};
cout << man << endl;
cout << "----------------" << endl;
} {
cout << "字符串" << endl;
char man[] = {'J', 'a', 'c', 'k', '\0'};
cout << man << endl; } {
cout << "空字符的作用" << endl;
char man[];
cin >> man;
cout << man << endl;
} {
char man[];
cin.ignore(, '\n');
//cin.ignore();
cin.get(man, );
cout << man << endl;
} {
char man[];
cin.ignore(, '\n');
//cin.ignore();
cin.get(man, );
cout << man << endl;
} {
char m[] = {'a', , 'b', '\0'};
cout << m << endl;
cout << "----------------" << endl;
} {
char man[] = {"a b"};
cout << man << endl;
} {
char man[] = {"hello world"};
cout << man << endl;
cout << "strlen(man)=" << strlen(man) << endl;
cout << "sizeof(man)=" << sizeof(man) << endl;
man[] = '\0';
cout << "strlen(man)=" << strlen(man) << endl;
cout << "sizeof(man)=" << sizeof(man) << endl;
} return ;
} /* 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. Visual Studio Gallery

    Web Essentials :对CSS.JavaScript和HTML都提供了很多快捷的功能支持.http://vswebessentials.com/features/general Web Co ...

  2. 剑指offer_面试题11 数值的整数次方_考察代码的完整性

    测试通过代码: package t0825; public class Power { public static void main(String[] args){ System.out.print ...

  3. 第三篇、image 设置圆角的几种方式

    第一种: 就拿view来举例 view.layer.masksToBounds=YES; //设置为yes,就可以使用圆角 view.layer.cornerRadius= ; //设置它的圆角大小 ...

  4. 过程式编程 drawShapes

    // // main.m // 3.2.1 过程式编程 #import <Foundation/Foundation.h> typedef enum { kCircle, kRectang ...

  5. OC9_字符串的内存管理

    // // main.m // OC9_字符串的内存管理 // // Created by zhangxueming on 15/6/18. // Copyright (c) 2015年 zhangx ...

  6. .Net平台开源作业调度框架Quartz.Net

    Quartz.NET介绍: Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中. ...

  7. ZigBee绑定细节

    ZigBee中的绑定由APS层来管理,除了绑定表管理外,APS层还有组表管理.快速地址查找等服务功能.应用层不能直接调用APS层中的数据服务来传输数据,只能通过AF层封装的AD_DataRequest ...

  8. C/C++易错小记录

    一:对字符串的 strlen() 与 sizeof #include <string.h> #include <stdio.h> int main(void) { char* ...

  9. MySQL学习笔记之数据存储类型

    说明:本文是作者对MySQL数据库数据存储类型的小小总结. Numeric Type (数字类型) 1.TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT主要根据存储字节长度不 ...

  10. libnet发包例子(tcp udp arp广播)

    #include <libnet.h> int main() { libnet_t *handle; /* Libnet句柄 */ int packet_size; /* 构造的数据包大小 ...