首页 > 代码库 > C++学习研究之一— —输入输出

C++学习研究之一— —输入输出

cout 是在标准库中定义的输出流对象,‘<<’是重定向符。

 

 

endl是叫操纵符,其实是个模板函数,在输出流中写入换行符,并且刷新输出缓存,而‘\n‘只是往输出流中写入了换行符,没有刷新输出缓存,在输出到屏幕时,没有明显的区别,但是如果写入到文件时,‘\n‘只是把内容写道了缓存中,并没有写入到磁盘,而endl则把内容写入到了磁盘。

 

如果两个加引号的字符数组中间没有除空格和注释以外的字符,预处理器会自动把两个字符数组连接起来,并成一个字符数组。因为预处理器会去掉空行、空格、和注释,所以两个字符数组中有这几种字符是没有关系,仍然可以链接。

 

c++中的强制转换比c更加直观,看起来像调用函数,然后传个参数。如C++中用char(17),而C语言中要这样写:char(17).

 

输入操纵符可以读入参数类型相同的输入,如果类型不一样,并没有什么出错处理,但是会从输入中从头截取相同类型的输入,比如输入123abc,会得到123.

 

1.  C++保留C的输入输出单个字符的函数

   putchar(c)  —— 字符输出

   getchar()  ——字符输入函数

2. scanf()、printf()函数的输入和输出 

    scanf(格式控制,输出表列);

    printf(格式控制,输出表列);

3. 标准输入输出流cin、cout

   包括头文件#include<iostream>

   输入输出流的控制符要加入头文件 #include<iomanip>

   cout<<"dec:"<<dec<<a<<endl;    //以十进制的形式输出整数 oct/hex

   cout.put(97);  //显示a字符--使用cout的成员函数put(c)


  cin成员函数get()

      (1)  不带参数的

         char c=cin.get();  //用cin的成员函数get()从键盘读入一个字符到c中去

      (2)  带一个参数的

         cin.get(ch); //从输入的流中接受一个字符,并赋给字符变量ch

      (3) 带三个参数的

         cin.get(字符数组,字符的个数n,终止字符)

        例程:   

 1 #include <iostream> 2 using namespace std; 3  4 int main() 5 { 6     char ch[20]; 7     cout<<"input a string:"<<endl; 8     cin.get(ch,10,/n);  /*取得输入流的前10-1=9个字符赋值给ch数组的前9个元素,并规定换行符为为输入流的终止结束符*/ 9      cout<<ch<<endl;10     return 0;11 }

      如输入:1 2 34567890   //按换行键终止流输入

      则输出:1 2 34567         //只读得前9个送入ch数组中

  cin的成员函数getline()  ——从输入流中读入一行字符

         cin.getline(字符数组(或字符指针),字符的个数n,终止字符)

     例程:

 1 #include <iostream> 2 using namespace std; 3  4 int main() 5 { 6     char ch[20]; 7     cout << "input a string:"; 8     cin >> ch; 9     cout << ch << endl;10     for(int i = 0; i < 20; ++i)11     {12         cout << i << ":" << ch[i] <<  ;13     }14     cin.getline(ch, 20, /);    //读取19个字符到ch数组或遇到‘/‘结束15     cout << ch << endl;16     for(int i = 0; i < 20; ++i)17     {18         cout << i << ":" << ch[i] <<  ;19     }20     cin.getline(ch, 20);    //读取19个字符到ch数组或遇到‘/n‘结束,遇到‘/‘仍作为字符读入21     cout << ch << endl;22     for(int i = 0; i < 20; ++i)23     {24         cout << i << ":" << ch[i] <<  ;25     }26     return 0;27 }

    cin的成员函数eof()  —— 在输入流中读取数据,如果到达末尾(遇到文件结束符),则eof()返回真,否则为假.

       例程: 

 1 #include<iostream> 2 using namespace std; 3  4 int main() 5 { 6     char c; 7     while(!cin.eof())           //若未遇到文件结束符 8         if((c=cin.get()) !=  )  //检查读入的字符是否为空格字符 9             cout.put(c);10     return 0;11 }

 

 


 

C++学习研究之一— —输入输出