C++基础学习之输入输出流详解

C++基础学习之输入输出流详解
C是一种广泛应用的编程语言其输入和输出是程序所必须的基本操作之一。输入是指从外部获取程序需要的数据输出则是将程序处理的结果返回给用户。本文将介绍C中的输入和输出操作包括输入输出流、文件输入输出等希望对读者有所帮助。1. 输入输出流在C中输入输出流是指对数据进行读写操作的对象。C中提供了两种输入输出流即标准输入输出流和文件输入输出流。1标准输入输出流标准输入输出流分别是stdin和stdout。其中stdin代表标准输入流也就是键盘输入的数据stdout代表标准输出流也就是屏幕上输出的数据。它们分别可以用cin和cout来实现。cin与符号一起使用可从标准输入流中读取用户输入的数据。下面是一个示例123456789#include iostreamusingnamespacestd;intmain(){inta, b;cout 请输入两个整数 endl;cin a b;cout 您输入的两个整数分别为 a 和 b endl;return0;}输出结果如下请输入两个整数2 3您输入的两个整数分别为2和3cout用于将数据输出到屏幕上。在输出时需要使用符号。下面是一个示例123456#include iostreamusingnamespacestd;intmain(){cout Hello, world! endl;return0;}输出结果如下Hello, world!2文件输入输出流C中提供了文件输入输出流类fstream用于对文件进行读写操作。其中fstream类继承自iostream类包括了文件操作流的特性。fstream类是一个泛型流可以支持各种数据类型如整型、浮点型、字符型和字符串。下面是一个使用fstream读取文件的示例1234567891011121314151617181920#include iostream#include fstream#include stringusingnamespacestd;intmain(){string fileName;cout 请输入文件名 endl;cin fileName;ifstream inFile(fileName.c_str());if(!inFile.is_open()){cout 打开文件失败 endl;}else{string tempStr;while(getline(inFile, tempStr)){cout tempStr endl;}}inFile.close();return0;}这个程序会提示用户输入一个文件名然后从这个文件中读取数据并输出。输出结果如下请输入文件名test.txtThis is a test file.It is used for input and output operations.2. 文件输入输出文件输入输出是指将数据存储在磁盘上的操作通过C中的文件输入输出流来实现。文件输入输出在实际开发中非常常用比如对数据进行存储、读取和处理等。下面是一个将数据写入文件的示例1234567891011121314#include iostream#include fstreamusingnamespacestd;intmain(){ofstream outFile(test.txt);if(!outFile.is_open()){cout 打开文件失败 endl;}else{outFile This is a test file. endl;outFile It is used for input and output operations. endl;}outFile.close();return0;}这个程序会将两行文本存储到一个名为test.txt的文件中。当程序运行时会自动创建这个文件并写入数据。如果文件已经存在那么将会覆盖原有的文件。读取文件中的数据方法已在上一节中进行说明。3. 格式化输入输出格式化输入输出指的是将数据按照一定的格式显示在屏幕上或存储到文件中。C中提供了一种可定制的格式化输入输出的方式即格式化输入输出流。该类流函数包含在头文件中支持对输出进行单、双字节对齐、设置小数位数等等。下面是一个格式化输出流的示例12345678#include iostream#include iomanipusingnamespacestd;intmain(){doubleval 3.1415926;cout fixed setprecision(3) val endl;return0;}这个程序使用了fixed和setprecision函数并设置小数精度为3。输出结果为3.142另外C中还提供了一种格式化输入输出方式即printf和scanf函数。这两个函数也可以用于格式化输入输出但是使用方法与4. 字符串输入输出C中提供了string类型用于存储字符串并支持输入输出操作。可以使用cin进行字符串输入使用cout进行字符串输出。下面是一个字符串输入输出的示例12345678910#include iostream#include stringusingnamespacestd;intmain(){string s1, s2;cout 请输入两个字符串 endl;cin s1 s2;cout 您输入的两个字符串分别为 s1 和 s2 endl;return0;}这个程序将提示用户输入两个字符串然后输出这两个字符串。输出结果如下请输入两个字符串hello world C您输入的两个字符串分别为hello和world使用getline函数可以读取一行字符串。下面是一个使用getline函数的示例12345678910#include iostream#include stringusingnamespacestd;intmain(){string s;cout 请输入一个字符串 endl;getline(cin, s);cout 您输入的字符串为 s endl;return0;}这个程序将提示用户输入一个字符串并使用getline函数读取该字符串。输出结果如下请输入一个字符串Hello, world!您输入的字符串为Hello, world!5. 空格处理在C中对于输入的数据空格是默认的分隔符会自动将空格前后的字符分成多个字符串输入。而在输出时空格是默认的连接符会将多个字符串连接成一个字符串进行输出。下面是一个示例123456789101112#include iostream#include stringusingnamespacestd;intmain(){string s1, s2;cout 请输入两个字符串使用空格分隔 endl;cin s1 s2;cout 您输入的两个字符串分别为 s1 和 s2 endl;string s3 hello, s4 world;cout 使用空格连接两个字符串得到结果 s3 s4 endl;return0;}这个程序将提示用户输入两个字符串使用空格分隔并输出这两个字符串。同时将字符串hello和world使用空格连接起来并输出结果。输出结果如下请输入两个字符串使用空格分隔hello world您输入的两个字符串分别为hello和world使用空格连接两个字符串得到结果hello world如果需要输入包含空格的字符串可以使用getline函数如果需要输出多个字符串之间加空格可以使用字符串连接符 。综上所述C中的输入输出系统非常丰富包括标准输入输出流、文件输入输出流、格式化输入输出流和字符串输入输出等。掌握这些知识点对于日后的C编程非常重要希望本文能为读者提供帮助。