精华内容
下载资源
问答
  • 列举你知道的数字格式化转换 可使用“0”和“#”占位符进行补位。“0” 表示位数不够位数就补充“0”,小数部分如果位数多了则会四舍五入;“#”表示占位,用于辅助“0”进行补位。如下例: // “0”描述:占位符,...

    列举你知道的数字格式化转换

    可使用“0”和“#”占位符进行补位。“0” 表示位数不够位数就补充“0”,小数部分如果位数多了则会四舍五入;“#”表示占位,用于辅助“0”进行补位。如下例:

                // “0”描述:占位符,如果可能,填充位
                Console.WriteLine(string.Format("{0:000000}", 1234)); // 结果:001234 
                // “#”描述:占位符,如果可能,填充位
                Console.WriteLine(string.Format("{0:######}", 1234));  // 结果:1234
                Console.WriteLine(string.Format("{0:#0####}", 1234));  // 结果:01234
                Console.WriteLine(string.Format("{0:0#0####}", 1234)); // 结果:0001234 
                // "."描述:小数点
                Console.WriteLine(string.Format("{0:000.000}", 1234));       // 结果:1234.000
                Console.WriteLine(string.Format("{0:000.000}", 4321.12543)); // 结果:4321.125
    
                // ","描述:千分表示
                Console.WriteLine(string.Format("{0:0,0}", 1234567));   //结果:1,234,567
    
                // "%"描述:格式化为百分数
                Console.WriteLine(string.Format("{0:0%}", 1234));        // 结果:123400%
                Console.WriteLine(string.Format("{0:#%}", 1234.125));   // 结果:123413%
                Console.WriteLine(string.Format("{0:0.00%}", 1234));     // 结果:123400.00%
                Console.WriteLine(string.Format("{0:#.00%}", 1234.125)); // 结果:123412.50%
    

    内置快捷字母格式化用法

                // E-科学计数法表示
                Console.WriteLine((25000).ToString("E")); // 结果:2.500000E+004
    
                // C-货币表示,带有逗号分隔符,默认小数点后保留两位,四舍五入
                Console.WriteLine((2.5).ToString("C")); // 结果:¥2.50
    
                // D[length]-十进制数
                Console.WriteLine((25).ToString("D5")); // 结果:00025
    
                // F[precision]-浮点数,保留小数位数(四舍五入)
                Console.WriteLine((25).ToString("F2")); // 结果:25.00
    
                // G[digits]-常规,保留指定位数的有效数字,四舍五入
                Console.WriteLine((2.52).ToString("G2")); // 结果:2.5
    
                // N-带有逗号分隔符,默认小数点后保留两位,四舍五入
                Console.WriteLine((2500000).ToString("N")); // 结果:2,500,000.00
    
                // X-十六进制,非整型将产生格式异常
                Console.WriteLine((255).ToString("X")); // 结果
    

    ToString 也可以自定义补零格式化:

                Console.WriteLine((15).ToString("000"));              // 结果:015
                Console.WriteLine((15).ToString("value is 0"));       // 结果:value is 15
                Console.WriteLine((10.456).ToString("0.00"));         // 结果:10.46
                Console.WriteLine((10.456).ToString("00"));           // 结果:10
                Console.WriteLine((10.456).ToString("value is 0.0")); // 结果:value is 10.5
    

    展开全文
  • 文本文件的编码方式及内容类型是应用层测试中文本测试...下面详细介绍下文件编码格式的转变及部分文本内容的格式。 1、TXT文件:大家都非常熟悉,重点讲解下编码格式的转换。 第一步:先熟悉一个linux命令; 在l...

    文本文件的编码方式及内容类型是应用层测试中文本测试关注的重点,常见的文本编码方式为UTF -8、GBK2312、GBK、BIG5、GB18030等等,常见的文本内容类型为TXT、HTML、XML、Torrent、WML、XHTML等。

    下面详细介绍下文件编码格式的转变及部分文本内容的格式。

    1、TXT文件:大家都非常熟悉,重点讲解下编码格式的转换。

    第一步:先熟悉一个linux命令;

    在linux系统下,使用iconv命令进行编码格式的转换,具体的命令使用方式如下:

    [root@localhost xhtml]# iconv --help

    用法: iconv [选项...] [文件...]

    转换给定文件的编码。

    输入/输出格式规范:

      -f, --from-code=名称     原始文本编码

      -t, --to-code=名称         输出编码

    信息:

      -l, --list                 列举所有已知的字符集

    输出控制:

      -c                         从输出中忽略无效的字符

      -o, --output=FILE          输出文件

      -s, --silent               关闭警告

          --verbose              打印进度信息

      -?, --help                 给出该系统求助列表

          --usage                给出简要的用法信息

      -V, --version              打印程序版本号

    长选项的强制或可选参数对对应的短选项也是强制或可选的。

    命令操作举例如下:iconv -f UTF-8 -t GB2312 文本1-UTF-8.txt -o 文本1-GB2312.txt

    第二步,进行文本编码转换;

    在转换之前,一定先准备一个UTF8编码格式的TXT文件,这个非常简单,linux系统一般默认的都是UFT8格式编码的文件,可以使用file -i 文件名的命令去查看,

    如下所示:

    [root@localhost txt]# file -i 文本1-TXT-UTF8.txt

    文本1-TXT-UTF8.txt: text/plain; charset=utf-8

    由于UTF8是一个汉字占用三个字节,而Big5、GBK、GB2312等基本上都是一个汉字占用两个字节,所以在编码格式转换的过程中,使用UTF8转换为GB2312之后,尽量用GB2312来转换

    GBK、Big5等;直接用UTF8转换的话个别编码格式会报错。

    备注:请记住文件里最好有中文汉字,如果没有的话,文本的编码格式可能会显示是US-ASCII,增加中文汉字后即可以显示为utf-8编码格式。

    第三步,编码转换后的格式验证:

    转换编码格式后,查询文件验证结果如下所示:

    文本1-TXT-Big5.txt:   text/plain; charset=iso-8859-1

    文本1-TXT-GB2312.txt: text/plain; charset=iso-8859-1

    显示结果并非为对应的Big5和GB2312,这个可能是linux系统的file命令并未对我们常用的汉字编码进行识别,只要在编码转换的过程中不报错,

    我们就认为转换成功了。

    如果在此情况下还想验证最终的结果是否正确,还大家几个方法:

    方法1、使用SSH客户端(建议是Xshell),在编码格式显示处修改为想要的格式,这样,我们打开转换后的文件就是正常显示的了。

    方法2、使用逆向验证法,把转换后的GB2312再次转换为UTF8编码的格式文件,查看文件内容(客户端是UTF8编码显示),如果没有乱码或者其它异常,我们就认为文件转换成功。

    方法3、可以使用od -x 加文件名的方式查看对应文件的16进制结果,如果没有乱码或者其它异常,我们就认为文件转换成功。

    2、HTML/MHT文件:这两种编码格式的转换基本上在浏览器上就可以完成,大家注意的是使用IE浏览器进行转换。

    转换方法如下:点击浏览器,打开网页,点击“工具”,选择“文件”,点击“另存为”,选择编码格式和要保存的文件类型即可。

    编码格式支持非常多,如常见的UTF8、GB2312、Big5等;文件类型支持html、mht、txt等;可以根据需要进行选择。

    如果浏览器自带的编码格式有不满足要求的,可以把文件上传到linux系统中进行转换,linux系统支持的类型非常多,操作方法参照TXT文本编码转换。

    为方便大家操作,截图如下:

    编码格式:

    文件格式:

    3、XML/WML类似,语法上非常接近。实例如下:

    大家可以自行编辑,也可以直接用

    XML文件,示例如下:

    <?xml version="1.0"?>

    <spec_rule>

            <rule>

                    <stat>0</stat>

                    <count>4000</count>

                    <service>10</service>

            </rule>

    /*

    软件测试的艺术

    */

    </spec_rule>

    备注:其中加一行汉字最主要的目的是为了使用file命令查看文件的编码时显示是utf8。

    WML文件,示例如下:

    <?xml version="1.0"?>

    <!doctype wml public "-//wapforum//dtd wml 1.1//en" "http://www.wapforum.org/dtd/wml_1.1.xml";>

    <wml>

    <card>

    <p align="center"><img alt=":)" src="xxx.bmp" localsrc="smileyface"/></p>

    </card>

    /*

    软件测试的艺术

    */

    </wml>

    备注:其中加一行汉字最主要的目的是为了使用file命令查看文件的编码时显示是utf8。

    其他编码格式的文件可以直接在linux系统中进行转换。操作方法参照TXT文本编码转换。

    4、XHTML文件,其实XML和HTML文件的结合,编码上更加严格。

    示例如下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>xhEditor初始化代码生成向导 for xhEditor 1.1.8</title>

    <script type="text/javascript" src="jquery/jquery-1.4.2.min.js"></script>

    <script type="text/javascript" src="xheditor-1.1.8-zh-cn.min.js"></script>

    <script type="text/javascript">

    $(pageInit);

    function pageInit()

    function toggleDisplay(id){$('#'+id).toggle(100);}

    function updateAll()

    </script>

    </head>

    <body>

        <h1 class="top">xhEditor初始化代码生成向导 for xhEditor 1.1.8</h1>

        <h2>1: 选择编辑器初始化模式</h2>

        <div class="section"><select id="editorMode"><option value="1" selected="selected">Class初始化</option><option value="2">Javascript初始化</option></select></div>

        <h2>2: 更改初始化参数</h2>

    </body>

    </html>

    5、Torrent则为BT下载种子,网络上很多,可以自行找种子进行转换。

    展开全文
  • 主要实现代码的编辑功能、插入一些变量功能、beautify插件主要用来格式化代码,实现代码美化效果。不过这两年做项目都是用vue了,需要用到代码编辑器,于是我又找到了代码编辑器vue-codemirror,感觉组件再变,其...

    2017年的时候用过codemirror,当时用的是jQuery库、codemirror、beautify插件。主要实现代码的编辑功能、插入一些变量功能、beautify插件主要用来格式化代码,实现代码美化效果。不过这两年做项目都是用vue了,需要用到代码编辑器,于是我又找到了代码编辑器vue-codemirror,感觉组件再变,其原理、底层还是没多大变化,用vu e-codemirror,codemirror的方法,配置参数都是通用的,今天我就来分享一下我今天研究的vue-codemirror用法及一些坑的填法。我需要声明一点是我们项目用到的是框架ant-design-vue,所以弹窗我也直接拿来用了,有不懂的童鞋,可以参考https://www.antdv.com/components/modal-cn/

    1. 需要实现codemirror编辑器功能,主要是json数据的编辑

    • codemirror基本的编辑代码功能
    • 插入变量功能
    • codemirror验证功能:主要验证代码格式,语法等,给出相应的提示
    • 代码格式化(由于主要是json数据,所以暂时没引用其他组件,如果需要建议引用js-beautify,因为查资料发现codemirror在新的版本中已经去掉autoFormatRange方法)

    大致如下图:
    image.png

    2. 写功能前需要安装的一些组件及用法简单说明,vue的就不说了,就光说这个编辑器需要的

    2.1 vue-codemirror

    1. 安装vue-codemirror
    npm install vue-codemirror --save
    
    1. vue-codemirror简单介绍
    // require component
    import { codemirror } from 'vue-codemirror'
    import jsonlint from 'jsonlint' //lint验证需要的组件,在下面详细讲
     
    // require styles
    import 'codemirror/lib/codemirror.css'
     
    // require more codemirror resource...
    
    import 'codemirror/mode/javascript/javascript' // 这js模式必须引入的
    
    import 'codemirror/addon/selection/active-line' //光标行背景高亮,配置里面也需要styleActiveLine设置为true
    import 'codemirror/keymap/sublime' //sublime编辑器效果
    import 'codemirror/mode/css/css'
    import 'codemirror/theme/monokai.css' //编辑器主题样式,配置里面theme需要设置monokai
    
    //下面这几个引入的主要是验证提示类的,配置里的lint需要设置true,gutters: ['CodeMirror-lint-markers']
    import 'codemirror/addon/lint/lint'
    import 'codemirror/addon/lint/lint.css'
    import 'codemirror/addon/lint/json-lint'
    import 'codemirror/addon/display/autorefresh' //及时自动更新,配置里面也需要设置autoRefresh为true
    
     // view
    <codemirror
              ref="jsonEditor"
              v-model="jsonData"
              :options="options"
              style="height: 600px;"
            />
    // component
    export default {
      components: {
        codemirror
      }
    }
    

    2.2 如何获取编辑器对象调用方法

    这个跟codemirror还是有区别的,codemirror我们需要初始化编辑器,然后拿着初始化对象就可以调用方法了,vu e-codemirror怎么获取呢?其实很简单,我们在编辑器组件上加上ref,通过ref获取。这个可以放到vue的computed里面,代码如下:

    .../
    computed: {
    	codemirror () {
          return this.$refs.jsonEditor.codemirror
        }
    }
    

    这样我们在需要调用方法的时候可以调用这个编辑器对象,我们可以设置获取编辑器的值。

    2.3 插入变量是编辑器对象调用replaceSelection方法,如下代码:

    methods: {
    insertVar () {
          this.codemirror.replaceSelection('"{{lanfeng}}"')
        }
    }
    

    2.4 代码格式化

    由于实现的json格式化,所以没引入其他组件,
    直接通过设置编辑器值来实现:代码如下:

    this.$nextTick(() => {
              this.codemirror.setValue((JSON.stringify(JSON.parse(this.jsonData), null, 2)))
            })
    

    其实就是调用的setValue设置值,之所以用$nextTick,是由于弹窗刚加载的时候,有可能编辑器没初始化好,获取不到编辑器对象。

    2.5 codemirror的配置,mode设置支持的语言

    mode: 'application/json'
    

    其他的配置语言可以查看https://codemirror.net/mode/
    有关vue-codemirror的事件我就不再列举,可以查看https://www.npmjs.com/package/vue-codemirror

    3. codemirror验证提示

    1. 需要引入插件jsonlint

    刚开始按文档引入lint资源的时候,发现不起作用,设置了可多,也不起作用,后来查看源码发现依赖这个插件
    image.png

    npm install jsonlint --save  //npm 安装组件
    import jsonlint from 'jsonlint' //引入
    window.jsonlint = jsonlint  //全局化
    

    关于这个功能浪费了很多时间,当试用不成功想着引用别的插件来解决,后来看看源码,还是用了jsonlint 插件

    总结

    以上就是我分享的有关vue-codemirror代码编辑器实现的json数据编辑、json数据语法验证提示、及编辑器一些方法的用法,其实有个功能还没实现,就是实现代码折叠,这个还在研究中,以上仅代码我个人观点,如有错误,请多指正。
    关注lovepythoncn
    qrcode_for_gh_4d3763fa9780_258 (1).jpg
    回复关键字:code, 就可以获取源码地址

    展开全文
  • 原博主博客地址:http://blog.csdn.net/qq21497936 ... ...C++STL开发温习与总结(六): ...6.C++语言输入/输出流定义之输入/输出格式控制  本章开始正式进入标准库的温习。 1.C++语言输入/输出流

    原博主博客地址:http://blog.csdn.net/qq21497936

    本文章博客地址:http://mp.blog.csdn.net/postedit/79177645


    C++STL开发温习与总结(六):
    6.C++语言输入/输出流定义之输入/输出格式控制


            本章开始正式进入标准库的温习。


    1.C++语言输入/输出流概述


            在C++语言系统中所有的输入/输出流操作都是借助ios类及其派生类对象实现的。ios派生类ostream和istream。cout是ostream的一个对象,cin是istream的一个对象。此两对象的特殊之处在于它们是编译器直接认识的少数几个系统级的对象,其包含于头文件<iosteam>。

             符号“<<”和“>>”是在类(派生类)中定义的重载运算符。


    2.输入/输出格式控制


            输出输出格式控制决定了输入或输出的格式,对于实际系统非常重要,下面列举了输入输出格式控制的几种方式:


    2-1枚举常量(ios类中的)


            在根基类ios中定义有3个用户需要使用的枚举类型,由于它们是在公用成员部分定义的,所以其中的每个枚举型常量在加上ios::前缀后都可以为本类成员函数和所有外部函数访问。在3个枚举类型中有一个无名枚举类型。

            第一个定义为无名枚举类型,每个枚举常量都是用于设置控制输入输出格式的标志使用的:

    enum {
      skipws,
      left,
      right,
      internal,
      dec,
      oct,
      hex
      showbase,
      showpoint,
      uppercase,
      showpos,
      scientific,
      fixed,
      unitbuf,
      stdio
    };
    

    • skipws:设置标志后,从流中输入数据时跳过当前位置及后面的所有连续的空白字符,从第一个非空白字符起读数,否则不跳过空白字符。(空白字符:空格、\t、\r、\n)。
    • left、right、internal:在指定的域宽内分别对齐左、右、中输出,注意internal使数值的符号按左对齐,数值本身按右对齐。域宽内剩余的字符位置用填充符填充。
    • dec、oct、hex:设置标志后,使以后的数值按照十进制、八进制、十六禁止输出。
    • showbase:设置标志后,使数值输出的前面加上“基指示符”。十进制无,八进制为0,十六禁止为0x。
    • showpoint:强制输出的浮点数中带有小数点和小数尾部的无效数字0.
    • uppercase:使输出的十六进制数和浮点数中使用的字母为大写,缺省为不设置(即小写)。
    • showpos:使输出的整数前带有正好“+”,缺省为不设置,即输出的正数前不带任何符号。
    • scientific、fixed:设置scientific后,浮点数按科学表示法输出;fix设置后,使浮点数按定点表示法输出,只能任设其一。缺省由系统适配自动选择合适的输出表示。
    • unitbuf、stdio:这两个很少使用,未介绍。

            第二个枚举类型open_mode,每个常量规定一种文件打开的方式,在定义文件流和打开文件时使用:

    enum open_mode {
      in,
      out,
      ate,
      app,
      trunc,
      nocreate,
      noreplace,
      binary
    };
    

           第三个枚举类型,每个枚举常量用于对文件指针的定位操作上:

    enum seek_dir{
      beg,
      cur,
      end
    }
    


    2-2成员函数(ios类中的)


            ios类提供成员函数对流的状态进行检测和进行输入输出格式控制等操作,所有成员函数如下:

    • int bad():操作出错时返回非0值。
    • int eof():读取到流中最后的文件结束符时返回非0值。
    • int fail():操作失败返回非0值。
    • void clear():清除bad、eof和fail所对应的标志状态,使之恢复为正常状态值0,使good标志状态恢复为1。
    • char fill():返回当前使用的填充字符。
    • char fill(char c):重新设置流中用于输出数据的填充字符为c的值,返回此前的填充字符。系统预设置填充字符为空格
    • long flags():返回当前用于I/O控制的格式状态字。
    • long flags(long f):重新设置格式状态字为f的值,返回此前的格式状态字。
    • int good():操作正常时返回非0值,当操作出错、失败或者读到文件结束符时均为不正常,则返回0。
    • int precision():返回浮点数输出精度,即输出的有效数字的位数。
    • int precision(int n):设置浮点数的输出精度为n,返回此前的输出精度。系统预设置的输出精度为6,即输出的浮点数最多具有6位有效数字。
    • int rdstate():操作正常是返回0,否则返回非0值,它与good正好相反。
    • long setf(long f):根据参数f设置相应的格式化标志,返回此前的设置。该参数f所对应的实参为无名枚举类型中枚举常量(又称格式化常量),可以同时使用一个或多个常量,每两个常量之间要用按位或操作符连接。如当需要左对齐输出,并使数值中的字母大写时,则调用改函数的实参为ios::left | ios::uppercase。
    • long unsetf(long f):根据参数f清除相应的格式化标志,返回此前的设置。如要清除此前的左对齐输出设置,恢复缺省的右对齐输出设置,则调用该函数的实参为ios::left。
    • int width():返回当前的输出域宽。若返回数值0则表明没有为刚才输出的数值设置输出域宽,输出域宽是指输出的值再流中所占有的字节数。
    • int width(int w):设置下一个数据值的输出域宽为w,返回为输出上一个数据值所规定的域宽,若无规定则返回0。注意:此设置不是一直有效,而是只对下一个输出数据有效。

        下面的demo我们姑且认为是方式一

    #include <iostream>
    using namespace std;
    int main()
    {
        int x = 30, y = 300, z = 1024;
        cout << x << ' ' << y << ' ' << z << endl;
        cout.setf(ios::oct); // 设置位8进制输出
        cout << x << ' ' << y << ' ' << z << endl;
        cout.unsetf(ios::oct);
        cout.setf(ios::hex);
        cout << x << ' ' << y << ' ' << z << endl;
    cout.setf(ios::showbase | ios::uppercase);   
    cout << x << ' ' << y << ' ' << z << endl;
        cout.unsetf(ios::showbase | ios::uppercase);
        cout << x << ' ' << y << ' ' << z << endl;
        cout.unsetf(ios::hex);
        cout << x << ' ' << y << ' ' << z << endl;
        return 0;
    }
    

            以上代码可能会运行错误,存在调不出库的情况,本人使用的mingw32编译器,具体细节请查看:

          《关于 QtCreartor编写纯C++程序调用不到C++某些标准库和枚举以及运行错误的解决方法》:

            http://blog.csdn.net/qq21497936/article/details/78983051

    现在已改为msvc2015,调用没有问题,运行时,输出结果如下图,与预期不同。

    原因:

            除非知道当前没有设置基标志,否则 ios::setf(_IFlags) 不应和 ios::dec、ios::oct 或 ios::hex 的标志值一起使用。格式化的输入/输出函数和运算符假定只设置了一个基。改用 ios_base。例如,setf( ios_base::oct, ios_base::basefield ) 清除所有基信息并将基设置成八进制。

    程序改为方式二:

    #include <iostream>
    using namespace std;
    int main()
    {
        int x = 30, y = 300, z = 1024;
        cout << x << ' ' << y << ' ' << z << endl;
    #if 0
        cout.setf(ios::oct); // 设置位8进制输出
    #else
        cout.setf(ios::showbase); // 显示进制前缀 八进制36显示为036
        // 清除所有基信息并将基设置成八进制,必须最开始先调用一次ios_base::basefield,
        // 后续单独设置ios_base::oct等才会生效
        cout.setf(ios_base::oct, ios_base::basefield);
    #endif
        cout << x << ' ' << y << ' ' << z << endl;
    #if 0
        cout.unsetf(ios::oct);
        cout.setf(ios::hex);
    #else
    //    cout.setf(ios_base::hex, ios_base::basefield);
        cout.unsetf(ios_base::oct);
        cout.setf(ios_base::hex);
    #endif
        cout << x << ' ' << y << ' ' << z << endl;
    #if 0
        cout.setf(ios::showbase | ios::uppercase); // 设置基指示符输出和数值中的字母大写输出
    #else
        cout.setf(ios_base::uppercase);
    #endif
        cout << x << ' ' << y << ' ' << z << endl;
        cout.setf(ios_base::dec, ios_base::basefield);
        cout << x << ' ' << y << ' ' << z << endl;
        return 0;
    }
    

    运行结果:


    以下是第三种风格(建议使用方式三替代方式一,不建议使用方式二):

    #include <iostream>
    using namespace std;
    int main()
    {
        int x = 30, y = 300, z = 1024;
        cout << x << ' ' << y << ' ' << z << endl;
        cout << oct << x << ' ' << y << ' ' << z << endl;
        cout << hex << x << ' ' << y << ' ' << z << endl;
        cout << showbase << uppercase << x << ' ' << y << ' ' << z << endl;
        cout << dec << x << ' ' << y << ' ' << z << endl;
        return 0;
    }
    

    2-3格式控制操作符


            数据输入输出的格式更便捷的形式是使用系统头文件<iomanip.h>中提供的操作符,使用这些不需要调用成员函数,只要把他们作为插入操作符<<(个别作为提取操作符>>)的输出对象即可。再成员函数章节中的方式三则是使用该方法。

    • dec,转换为十进制输出整数,系统预制的进制。
    • oct,转换为按八进制输出整数。
    • hex,转换为按十六进制输出整数。
    • ws,从输入流中读取空白字符。
    • endl,输出换行符’\n’并刷新流。(刷新流是指把缓冲区的内容立即写入到对应的物理设备上)。
    • ends,输出一个空字符’\0’。
    • flush,至刷新一个输出流。
    • setiosflags(long f),设置f所对应的格式化标准,功能与setf(longf)成员函数相同。
    • resetiosflags(long f),清楚F所对应的格式化标志,功能与unsetf(longf)成员函数相同。输出后返回流。
    • setfill(int c),设置填充字符位ASCII码为c的字符。
    • setprecision(int n),预置浮点数的输出精度为n。
    • setw(int w),设置下一个数据的输出域宽度位w。

            在上面的操纵符中,dec、oct、hex、endl、ends、flush和ws除了在iomanip.h中有定义外,再iosream.h中也又定义。所以程序中使用这些不带标参数的标记符时,可只包含iostream.h而不需要包含iomanip.h。

            dec、hex和oct这三个函数的作用和c语言的printf中的%d、%x和%o相同,用于输入/输出整数数制的设定。当用户输入时,若输进违例数值,则强制一个零给目标。一旦用上述某个函数设置书之后,在本程序执行中直至下一个设置前,该设置一直有效(已代码验证),且cin与cout不互相影响。

            回车换行函数endl用户产生一个”\n”码,即在输出流中插入0x0d0a内码。所以cout<<endl等效于cout<<’\n’。流操作符ends等于’\0’,该字符主要用于在一组字符后充当字符串结束的标志。

            强制flush主要是为了提高输出效率,在输出时,系统并不会把每个输出项都立即送外外设,而是等待积满某一个缓冲区(如果集装箱)后才一起送出。但用本函数flush即可时正在缓冲区中待输出的内容都被立即输出,同时输出缓存也被清除,此函数多用于流式文件输出当中。

            用取消输入结束符函数ws表示可以省去输入时用作代表一个输入项结束的空格或(Tab)键。这时的输入结束判决完全由对应的变量类型来决定。例如如下代码所示:

    char c,d;
    cin >> c >> d;
    

    此时的输入:x y<CR>与xy<CR>等效,如下图


            如果使用ws函数后,这个效果始终存在,但对数值变量无效。

            输入/输出域宽度设置函数setw(int)用整数参数来指定输入/输出域的宽度。相当于c语言库函数scanf、prinf中的”%”格和格式符的作用。该函数的设置仅其后的一个数据项有效。当用于输出时,若所输出的实际宽度小于设定的数据域宽度,则数据缺省一律向右对齐,反之则按数据的实际宽度输出。当用户输入时,若输入数据的实际宽度超过设定的数据宽度时,超出的数据部分被阶段且被作为下一项输入数据内容。利用此特性可以防止在变量输入时出现的越界情况,但不好用也容易出错。



            向输出域中填充字符的函数setfill(int)常与setw(int)函数联合使用,如下图:


            setprecision(int)设置浮点数输出显示精度。


            读取/设置域宽的函数int width() constint width(int)

            读取/设置填充字符的函数char fill() constchar fill(char)

            读取/设置浮点数有效位长的函数int precision() constint precision(int)

            以上三组函数 ,必须用发送消息的格式来引用(即以cout.或cin.的形式)。



     

    原博主博客地址:http://blog.csdn.net/qq21497936

    本文章博客地址:http://mp.blog.csdn.net/postedit/79177645




















    原博主博客地址:http://blog.csdn.net/qq21497936

    本文章博客地址:


    展开全文
  • Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化我们从今天就开始正式的学习PY交易了,PY交易还行,我们有基础之后学习起来倒不是说那么的被动,我学习的是...
  • RTF文件格式

    千次阅读 2013-05-08 13:38:18
    摘要:本文对RTF文件格式进行分析研究,对RTF文件结构及特性进行了阐述,并分别列举了几个实用性的例子进行详细分析,最终通过VB程序代码实现了一个RTF书写器(不具有所见即所得特性)。本文对软件开发人员及RTF文件...
  • Freemarker数字格式化总结

    千次阅读 2017-04-24 07:52:34
    因此在我们的代码层面我们是一定需要做好相关的数字格式化的准备的,当然,这并不意味这在前端页面上我们就可以不做任何事情!毕竟双重保险来的更加妥当一些。数字格式化 string (when used with a numeri
  • RTF 格式 说明

    万次阅读 2012-11-03 23:05:49
    摘要: 本文对RTF文件格式进行分析研究,对RTF文件结构及特性进行了阐述,并分别列举了几个实用性的例子进行详细分析, 最终通过VB程序代码实现了一个RTF书写器(不具有所见即所得特性)。本文对软件开发人员及RTF...
  • [转载]流行视频格式讲解

    千次阅读 热门讨论 2005-09-20 12:29:00
    转自 豪杰技术 http://www.herosoft.com 流行视频格式讲解 *. MPEG/.MPG/.DAT MPEG也是Motion
  • 列举几个常用的linux命令以及说明?

    千次阅读 2018-11-27 12:07:13
    格式:LS【options】【filename】 -常用参数:  &gt;-a:all,不隐藏任何以"."字符开始的文件  &gt;-l:使用较长的格式列出信息  &gt;-r:按照文件名的逆序打印输出  &gt;-F:加上...
  • 常用生物信息学格式介绍

    千次阅读 2017-04-23 23:11:14
    在各个行业都是有行业标准的,这样才能统一规范而方便后面的分析,在生物信息学领域中主要是各种大量序列数据、注释数据等,这些都是有特定的格式去表示,下面列举几种常见的格式。了解这些是进行后续生物信息学分析...
  • RTF格式的深入研究

    千次阅读 2014-02-04 18:35:52
    摘要:本文对RTF文件格式进行分析研究,对RTF文件结构及特性进行了阐述,并分别列举了几个实用性的例子进行详细分析,最终通过VB程序代码实现了一个RTF书写器(不具有所见即所得特性)。本文对软件开发人员及RTF文件...
  • MPEG Moving Picture ExpertGroup,即运动图像专家组格式,是以下MPEG-1、MPEG-2等视频格式的总称,VCD、SVCD、DVD就是这种格式。MPEG格式是运动图像压缩算法的国际标准,它采用了有损压缩方法从而减少运动图像中的...
  • 蓝牙支持的三种编码格式

    千次阅读 2019-01-17 15:36:50
    下面按照编码的码率由低到高列举。 SBC (Sub-band coding,子带编码) 最早的格式应该是SBC,SBC是A2DP(Advanced Audio Distribution Profile,蓝牙音频传输协议)协议强制规定的编码格式。所有的蓝牙都会...
  • OBJ文件格式内幕

    千次阅读 2010-06-15 00:27:00
    我们经常见到的*.obj文件... 说起3D文件格式,大家一定不会感到陌生,"*.3ds","*.max","*.lw","*.mb","*.dxf","*.obj",相信人人都能列举出几种来。但是说起OBJ文件的具体特征,却很少有人能给出较为圆满的描述。
  • 论文写作格式设置

    万次阅读 2018-07-05 19:35:33
    做毕业设计时最麻烦的就是论文写好了却被告知格式不过关。 毕设封面,摘要,目录,正文、参考文献、致谢写在一个文档中打印起来方便 毕设论文格式要求如下 毕业设计(论文)写作规范 论文或设计说明书内容一般应...
  • 下面按照编码的码率由低到高列举。 1. SBC (Sub-band coding,子带编码) 最早的格式应该是SBC,SBC是A2DP(Advanced Audio Distribution Profile,蓝牙音频传输协议)协议强制规定的编码格式。所有的蓝牙都会...
  • 原文转载自:... Aspose.Cells还为开发人员提供了很多内嵌的数字和日期格式,开发人员可以通过Style对象的Number属性调用这些内嵌格式,下面是列举出的Aspose.Cells提供的内嵌显示格式: Value Ty
  • OpenGL图像格式

    千次阅读 2016-11-22 11:38:48
    以上所讲的是常规的颜色格式的情况,OpenGL除此之外还支持部分其他的颜色格式列举如下: 颜色格式 格式说明 GL_R3_G3_B2 归一化的整型,RG分量占用3位,B分量占用2位(正好1个字节) ...
  • [转] RTF文件格式研究报告

    千次阅读 2011-04-29 02:02:00
    [转] RTF文件格式研究报告   摘要:本文对RTF文件格式进行分析研究,对RTF文件结构及特性进行了阐述,并分别列举了几个实用性的例子进行详细分析,最终通过VB程序代码实现了一个RTF书写器(不具有所见即...
  • 水滴辅助垂直投影分割验证码 文章开头先声明一点:这篇文章没有介绍滴水的详细内容,只是和大家分享一下这一周的用滴水分割的过程的教训和最后的结果。如果想了解滴水的详细内容,还是直接跳过这篇文章吧...
  • 文献综述格式及写作技巧

    万次阅读 2015-09-23 16:09:20
    文献综述格式及写作技巧(附文献综述范文) 文献综述是在对文献进行阅读、选择、比较、分类、分析和综合的基础上,研究者用自己的语言对某一问题的研究状况进行综合叙述的情报研究成果。文献的搜集、整理、分析都为...
  • Unity资源格式详解与自动化设置

    千次阅读 2018-01-27 18:01:59
    根据自己最近的几年的项目经验,游戏内存占用超标除了程序代码本身的缺陷之外(如冗余的资源占用没有释放等),资源文件格式设置是否合理也是一个很大的因素。比如纹理贴图的格式,模型资源格式等等。在以前的端游...
  • CSDN-markdown 之 LaTeX 特殊公式格式笔记

    万次阅读 多人点赞 2016-08-20 12:34:29
    本文**持续更新**自己写 LaTeX 公式过程中遇到的一些特殊公式格式的语法。
  • 图形文件的格式

    千次阅读 2007-07-20 15:18:00
    在缺乏广为接受的标准的情况下, 每个应用程序开发者都提出文件格式以支持其应用程序。从八十年代初以后,官方的边准组织开始提出首批通用的图形子程序和图形文件,以促成文件代码在不同的应用程序和硬件上的可移植...
  • 下划线命名和驼峰命名。包名、模块名、函数名、方法、普通变量名全部使用小写,单词间用下划线连接。类名、异常名使用 首字母大写(CapWords ) 的方式, 异常名结尾加 Error 或 Wraning 后缀。自定义的变量...
  • 全面解析磁盘分区格式

    千次阅读 2006-11-07 14:40:00
    当前越来越多的用户已经从Windows 98逐步升级到更高级的系统了,随之而来的就是必须面对Windows 98/2000/XP/2003等系统的FAT16/FAT32/NTFS磁盘分区格式,它们到底是什么?有什么特点和优点?到底选择那种格式?如何...
  • 什么是SQL注入攻击

    千次阅读 2007-01-25 21:17:00
    ①大小定混合:由于VBS并不区分大小写,而程序员在过滤时通常要么全部过滤大写字符串,要么全部过滤小写字符串,而大小写混合往往会被忽视。如用SelecT代替select,SELECT等; ②UNICODE:在IIS中,以UNICODE字符...
  • 在各个行业都是有行业标准的,这样才能统一规范而方便后面的分析,在生物信息学领域中主要是各种大量序列数据、注释数据等,这些都是有特定的格式去表示,下面列举几种常见的格式。了解这些是进行后续生物信息学分析...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,075
精华内容 9,630
关键字:

列举法格式