码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-11-28 13:56:40      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   os   使用   sp   for   

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++学习研究之一— —输入输出

标签:style   blog   io   ar   color   os   使用   sp   for   

原文地址:http://www.cnblogs.com/shiddong/p/4128142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!