文件重定向,getline()获取一样,屏幕输出流,格式控制符dec,oct,hex,精度控制setprecision(int num),设置填充,cout.width和file(字符),进制输入

本文主要是介绍文件重定向,getline()获取一样,屏幕输出流,格式控制符dec,oct,hex,精度控制setprecision(int num),设置填充,cout.width和file(字符),进制输入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



1.window下的命令重定向输出到文件中

2.将内容输入到某个文件中的方式:命令<1.txt (使用1.txt中的命令)

3.读取文件中的名,然后将命令读取最后输出到文件中。命令<1.txt>2.txt   这一句的作用就是将执行的命令输入到2.txt中。

4.文件重定向案例1

#include <iostream>

using namespace std;

 

void main()

{

    char str[30] = { 0 };

    cin >> str;

    cout << str;

    system(str);

    //输出错误结果

    cerr << "enter for you";

    cin.get();

    cin.get();

}

5.getline()获取一样

#include <iostream>

#include <stdlib.h>

 

using namespace std;

void main1()

{

    char str[10] = { 0 };

    //作用是获取一行

    cin.getline(str, 10);//限定长度

 

    cout << str;

    system("pause");

    //比如输入:asdad

    //输出结果:asdad

}

 

//cout.put(ch):输出一个字符,cin.get(ch);获得一个字符

void  main()

{

    char ch = 0;

    while (ch != '\t')//复合表达式

    {

        cin.get(ch);//等价于ch=cin.get

        cin.get();

        cout.put(ch); //输出一个字符

    }

}

6.屏幕输出流

A:cout.write():控制输出多大长度的字符串

#include<iostream>

#include <iomanip>//控制输出流

 

using namespace std;

void main()

{

    cout.put('A').put('B').put('C').put('\n');

    char  str[] = "123456789abcdefg";

 

    //通过write输出指定长度的字符串,不包含\0

    cout.write(str,10);

   

    cin.get();

}

输出结果:

B:格式控制符:dec,oct,hex

void main()

{

    //dec,oct,hex都是各式控制符

    int num = 01070;

    cout << num << endl;//默认十进制

 

    cout << hex;//十六进制强制标识,endl结束不了

    cout << num << "  "<< num << "\n" << endl;

    cout << oct;//八进制强制标识,endl结束不了

    cout << num << "  " << num << "\n";

    cout << dec;//十进制强制标识

    cout << num << endl; //默认十进制

    cout << num << endl; //默认十进制

 

    cin.get();

}

运行结果:

C:精度控制setprecision(intnum)

#include<iostream>

#include <iomanip>//控制输出流

 

using namespace std;

void main()

{

    double db = 1.98123178387127838718732;

    cout << db << endl;//这种方式输出小数点后面6

    cout << setprecision(25) << db; //小数点显示精确度

 

    cin.get();

}

输出结果:

D:设置填充,cout.widthfile(字符)

#include<iostream>

#include <iomanip>//控制输出流

 

using namespace std;

void main()

{

    cout.width(40);//设定显示的宽度

    cout.fill('&');//填充字符

    cout << "hello world" << endl;

    cin.get();

}

运行结果:

E:设置左右填充

#include<iostream>

#include <iomanip>//控制输出流

 

using namespace std;

void main()

{

    //字符串输出

    cout.width(40);//设定显示的宽度

    cout.fill('&');//填充字符

    cout.setf(ios::left);//输出的内容左对齐

    cout << "hello world" << endl;

 

    //设定显示的宽度,如果实际长度查过了helloworld,按照实际长度输出

    cout.width(30);

    cout.fill('*');//填充字符

    cout.setf(ios::right,ios::left);

 

    cout << "hello world" << endl;

    cin.get();

}

F:进制输入输出控制,ios::basefield

#include<iostream>

#include <iomanip>//控制输出流

 

using namespace std;

void main()

{

    int num1;

    cin.setf(ios::hex, ios::basefield);//设置输入为十六进制

    cin >> num1;

    cout.setf(ios::hex, ios::basefield);//设置十六进制

    cout << num1;

    int num2;

    cin.setf(ios::dec, ios::basefield);//设置输入为十进制

    cin >> num2;

    cout.setf(ios::dec, ios::basefield);

    cout << num2;

 

    int num3;

    cin.setf(ios::oct, ios::basefield);//设置输入为8进制

    cin >> num3;

    cout.setf(ios::oct, ios::basefield);

    cout << num3;

 

    cin.get();

    cin.get();

    cin.get();

    cin.get();

    cin.get();

}

G:科学计数法

#include<iostream>

#include <iomanip>//控制输出流

 

using namespace std;

void main()

{

    double db = 100 / 7.0;

    cout.setf(ios::fixed | ios::showpoint);//定点

    for (int i = 1; i < 10;i++)

    {

        cout.precision(i);//控制小数点多少位,输出1-10位的精度数值

        cout << db << endl;

    }

    cout << db << endl;

    db = 1000000000000000000000.0;

    //实数,根据方便自动选择质数或者定点小数输出

    cout.setf(ios::scientific, ios::fixed | ios::showpoint);

    cout << db << endl;

    cin.get();

}

运行结果:

H:setbase基数,清除历史遗迹

#include<iostream>

#include <iomanip>//控制输出流

 

using namespace std;

void main()

{

    const int num = 8848;

    cout << setw(10) << setfill('*') << setiosflags(ios::left) << num << endl;

    cout << setw(10) << setfill('*') << setiosflags(ios::right) << num << endl;

    cout << resetiosflags(ios::right) << setw(10) << setbase(8)

        << setfill('X') << setiosflags(ios::left) << num << endl;

    //resetioflags清楚历史遗迹

    //setw宽度

    //setbase基数,决定进制

 

    cin.get();

}

运行结果:

 

这篇关于文件重定向,getline()获取一样,屏幕输出流,格式控制符dec,oct,hex,精度控制setprecision(int num),设置填充,cout.width和file(字符),进制输入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/918410

相关文章

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

基于Java实现模板填充Word

《基于Java实现模板填充Word》这篇文章主要为大家详细介绍了如何用Java实现按产品经理提供的Word模板填充数据,并以word或pdf形式导出,有需要的小伙伴可以参考一下... Java实现按模板填充wor编程d本文讲解的需求是:我们需要把数据库中的某些数据按照 产品经理提供的 word模板,把数据

Python使用Colorama库美化终端输出的操作示例

《Python使用Colorama库美化终端输出的操作示例》在开发命令行工具或调试程序时,我们可能会希望通过颜色来区分重要信息,比如警告、错误、提示等,而Colorama是一个简单易用的Python库... 目录python Colorama 库详解:终端输出美化的神器1. Colorama 是什么?2.

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

提示:Decompiled.class file,bytecode version如何解决

《提示:Decompiled.classfile,bytecodeversion如何解决》在处理Decompiled.classfile和bytecodeversion问题时,通过修改Maven配... 目录问题原因总结问题1、提示:Decompiled .class file,China编程 bytecode

usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了 直接上代码: /*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){int m;m=n;xlen=0;while(m){x[++xlen]=m%B;m/=B;}m=n*n;ylen=0;whi

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

MCU7.keil中build产生的hex文件解读

1.hex文件大致解读 闲来无事,查看了MCU6.用keil新建项目的hex文件 用FlexHex打开 给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐 :02000F0080FE71:03000000020003F8:0C000300787FE4F6D8FD75810702000F3D:00000001FF 把解释后的数据当作十六进制来观察 1.每一行数据