首页 > 代码库 > 文件重定向,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>

usingnamespacestd;

 

voidmain()

{

   charstr[30] = { 0 };

   cin >>str;

   cout <<str;

   system(str);

   //输出错误结果

   cerr <<"enter for you";

   cin.get();

   cin.get();

}

5.getline()获取一样

#include<iostream>

#include<stdlib.h>

 

usingnamespacestd;

voidmain1()

{

   charstr[10] = { 0 };

   //作用是获取一行

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

 

   cout <<str;

   system("pause");

   //比如输入:asdad

   //输出结果:asdad

}

 

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

void main()

{

   charch = 0;

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

   {

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

       cin.get();

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

   }

}

6.屏幕输出流

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

#include<iostream>

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

 

usingnamespacestd;

voidmain()

{

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

   char str[] ="123456789abcdefg";

 

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

   cout.write(str,10);

   

   cin.get();

}

输出结果:

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

voidmain()

{

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

   intnum = 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>//控制输出流

 

usingnamespacestd;

voidmain()

{

   doubledb = 1.98123178387127838718732;

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

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

 

   cin.get();

}

输出结果:

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

#include<iostream>

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

 

usingnamespacestd;

voidmain()

{

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

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

   cout <<"hello world" <<endl;

   cin.get();

}

运行结果:

E:设置左右填充

#include<iostream>

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

 

usingnamespacestd;

voidmain()

{

   //字符串输出

   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>//控制输出流

 

usingnamespacestd;

voidmain()

{

   intnum1;

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

   cin >>num1;

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

   cout <<num1;

   intnum2;

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

   cin >>num2;

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

   cout <<num2;

 

   intnum3;

   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>//控制输出流

 

usingnamespacestd;

voidmain()

{

   doubledb = 100 / 7.0;

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

   for (inti = 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>//控制输出流

 

usingnamespacestd;

voidmain()

{

   constintnum = 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(字符),进制输入