【C++入门】 输入输出
1. 标准输入输出流对象C中标准输入输出流主要通过iostream 库实现其中包含两个重要的对象---std::cin标准输入流对象通常与键盘关联用于从用户方读取数据---std::out标准输出流对象通常与显示器关联用于向用户输出数据#include iostream2. 基本数据类型的输入输出引入C语言的输入输出#includestdio.h int main() { char ch; int a; scanf_s(%d %c, a, ch); printf(%d %c \n, a, ch); return 0; }2.1 输入使用std::cin和运算符可以读取基本数据类型如int、char、float等的值。当读取多个数据时需要用空格、制表符或换行符来分隔不同的数据。#include iostream using namespace std; int main() { char ch; int a; cin ch a; return 0; }2.2 输出使用std::cout和运算符可以输出基本数据类型的值。运算符被称为插入运算符它可以将数据插入到输出流中。std::endl 用于输出换行符并刷新输出缓冲区。#include iostream using namespace std; int main() { char ch A; int a 10; cout a a ch ch endl; return 0; }3.字符串的输入输出3.1 使用 std::cin 读取字符串std::cin 在读取字符串时遇到空格、制表符或换行符会停止读取因此只能读取一个由空格分隔的单词而不是一整行字符串。#include iostream using namespace std; int main() { char str[20]; cin str; // 注意cin在读取字符串时遇到空格、制表符或换行符会停止读取 // 即只能读取一个由空格分隔的单词而不是一整行字符串 cout str endl; return 0; }3.2使用std::getline读取整行字符串如果需要读取包含空格的完整句子或字符串可以使用 std::getline函数。其有两种重载形式---std::getline(std::cin, str)以换行符为结束标志读取一整行字符串。---std::getline(std::cin, str, delimiter)以指定的字符delimiter为结束标志读取字符串。#include iostream #include string using namespace std; int main() { char str[20]; //由于cin遇到空格就停止读取若用户想输入包含空格的完整句子或字符串则无法满足需求 //可使用std::getline函数来替代cin读取一整行字符串 //cin.getline(str, 20); // 默认以 换行符 为结束标志 //若用户输入超过19个字符数组大小为20最后一个字符留给字符串结束符\0会导致数组越界引发未定义行为。 cin.getline(str, 20,#); // 以#为结束标志 cout str endl; return 0; }注意当使用std::getline读取字符数组时要确保数组有足够的空间来存储字符串且要预留一个位置给字符串结束符\0。如果输入的字符串长度超过数组大小可能会导致数组越界引发未定义行为。4. 输入输出缓冲区输入输出流有自己的缓冲区数据先被存储在缓冲区中然后再进行处理。std::endl除了输出换行符外还会刷新输出缓冲区确保数据立即被输出。可以使用std::flush显式地刷新输出缓冲区。#include iostream int main() { std::cout Hello, World! std::flush; return 0; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2438335.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!