zoukankan      html  css  js  c++  java
  • 18:字符串-char型字符串

    1 什么是字符串?
    字符串是以空字符(0)结尾的字符数组。
    空字符的assii码为:0, 空格的ascii码为32
    2 的作用
    ''是一个空字符标志,它的ASSII码为0,C++有好多处理字符串的函数,都以''为结束标记。
    也就是以空字符为结束标记,比如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) 的结束标记是 换行符。因此遇到空白字符(空格,tab)不会结束。同时在输入结束后,也就是用户输入第一个回车后,cin.get自动为
    当前接受的输入的数组添加字符串结束标记 , 因此它实际保存的有效字符是它的第二个参数减1.

    5 cin遇到不可见字符(制表符和空格)和空字符('')就停止输入。
    cout则只是遇到空字符才停止输出。0

    6 char man[] = {"a "} 是一种简写,隐含了字符串结束标记 char m[] = {'a', 32, 'b', ''};

    7 计算字符串长度时,不要忘记最后的空字符'' strlen(char型字符串)是计算可见字符的长度(不包括 ascii 0) sizeof(是计算字符串的长度)(含asscii0)
    #include <iostream>
    using namespace std;
    
    int main()
    {
        {
            cout << "字符数组" << endl;
            char man[4] = {'J', 'a', 'c', 'k'};
            cout << man << endl;
            cout << "----------------" << endl;
        }
    
        {
            cout << "字符串" << endl;
            char man[] = {'J', 'a', 'c', 'k', ''};
            cout << man << endl;
    
        }
    
        {
            cout << "空字符的作用" << endl;
            char man[12];
            cin >> man;
            cout << man << endl;
        }
    
        {
            char man[12];
            cin.ignore(1024, '
    ');
            //cin.ignore();
            cin.get(man, 12);
            cout << man << endl;
        }
    
        {
            char man[12];
            cin.ignore(1024, '
    ');
            //cin.ignore();
            cin.get(man, 11);
            cout << man << endl;
        }
    
    
        {
            char m[] = {'a', 32, 'b', ''};
            cout << m << endl;
            cout << "----------------" << endl;
        }
    
        {
            char man[] = {"a b"};
            cout << man << endl;
        }
    
    
        {
            char man[12] = {"hello world"};
            cout << man << endl;
            cout << "strlen(man)="  << strlen(man) << endl;
            cout << "sizeof(man)=" << sizeof(man) << endl;
            man[6] = '';
            cout << "strlen(man)="  << strlen(man) << endl;
            cout << "sizeof(man)=" << sizeof(man) << endl;
        }
    
    
        return 0;
    }
    
    /* vim: set ts=4 sw=4 sts=4 tw=100 */
  • 相关阅读:
    Ubuntu18.04, WPS表格生成中文大写数字的script
    Java实现的简单神经网络(基于Sigmoid激活函数)
    Naive Bayes Classifier 朴素贝叶斯分类器
    动态规划处理diff算法 Myers Diff (正向)
    动态规划处理01背包问题
    文本diff算法Patience Diff
    API返回错误信息的最佳实践
    CAP理论中, P(partition tolerance, 分区容错性)的合理解释
    mysql: SELECT ... FOR UPDATE 对SELECT语句的阻塞实验
    Probability&Statistics 概率论与数理统计(1)
  • 原文地址:https://www.cnblogs.com/i80386/p/4394633.html
Copyright © 2011-2022 走看看