【C++初级技能书】8.输入输出

各位同学们好,本次我们来说一下输入输出。

1.标准输入输出

把输入输出单独拿出来讲其实是考虑到我们是初学编程,那么就需要较多的输出来看程序结果,或者调试,但是调试有时候会比直接运行看结果要麻烦一些。平时使用较多的输入方法就是键盘输入了,当写好一个程序,运行之后,由键盘输入,再输出到屏幕上直接看结果。
 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int a, b;
 6     cin >> a >> b;
 7     cout << "输入的a值为:" << a << endl
 8          << "输入的b值为:" << b << endl;
 9  
10     getchar();
11     getchar();
12     return 1;
13 }

比如上面这个例子,输入值为两个变量a和b,然后在屏幕输出。cin就是最基本的输入,一般来说输入设备就是键盘,cout也是最基本的输出,一般来说就是输出到屏幕。

除了上面的cin直接输入,其实还有一些函数可以调用,比如cin.getline()等,这里就不展开了,可以自行搜索一下。

2.文件输入输出

除了上面常用的标准输入输出外,还有文件输入输出。相比较标准输入输出,文件输入输出好处是:如果你要多次输入一大段文本,那文件输入输出要省力很多。
 1 #include <fstream>
 2 using namespace std;
 3 int main()
 4 {
 5     ifstream inFile;
 6     inFile.open("D:/workplace/c++/io/test.in", ios::in);
 7     int a, b, c;
 8     inFile >> a >> b >> c;
 9     if (!inFile)
10     {
11         cout << "文件打开错误!";
12         return -1;
13     }
14     inFile.close();
15  
16     ofstream outFile;
17     outFile.open("D:/workplace/c++/io/test.out", ios::out | ios::trunc);
18     if (!outFile)
19     {
20         cout << "文件打开错误!";
21         return -1;
22     }
23     outFile << "文件读入a值为:" << a << endl;
24     outFile << "文件读入b值为:" << b << endl;
25     outFile << "文件读入c值为:" << c << endl;
26     outFile.close();
27  
28     getchar();
29     getchar();
30  
31     return 1;
32 }

上面这个例子是从一个文件读入数据,再写到另一个文件里。从文件读入首先要打开一个文件,用ifstream定义一个输入文件,然后用.open()方法打开,注意这里的文件名最好写全(使用绝对路径),防止找不到文件。然后读入完毕后需要使用.close()来关闭。向一个文件输出也差不多,差别在于打开文件时,可以指定ios::out | ios::trunc,这个的意思是说如果文件不存在就创建一个,这个配置也可以不写,这样就不会自动创建文件。这里输出完毕后也要记得调用.close()来关闭。

思考一下

  • 如何向一个文件输出99乘法表?
    •  1 #include <iostream>
       2 #include <fstream>
       3 using namespace std;
       4 int main()
       5 {
       6     ofstream fout;
       7     fout.open("D:/workplace/c++/io/99.txt", ios::out | ios::trunc);
       8     for (int i = 1; i <= 9; i++)
       9     {
      10         for (int j = i; j <= 9; j++)
      11         {
      12             fout << i << "*" << j << "=" << i * j << "\t";
      13         }
      14         fout << endl;
      15     }
      16     getchar();
      17     getchar();
      18 
      19     return 1;
      20 }
      点+看答案

       

posted @ 2020-10-04 21:07  odin1994  阅读(148)  评论(0编辑  收藏  举报