【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 }
-