首页 > 其他分享 >每日记录

每日记录

时间:2024-03-14 10:13:33浏览次数:15  
标签:include 读取 记录 每日 istream 换行符 getline 输入

目录


计算一系列数的和

这段代码假设输入是格式良好的,即每行都包含至少一个整数,并且整数之间由空格分隔
输入例子:
1 2 3
4 5
0 0 0 0 0
输出例子:
6
9
0

#include <iostream>
#include <cstring>
#include <sstream>
using namespace std;
int main() {
    string line;    // 定义一个字符串line来存储从输入流中读取的每一行。
    // 使用while循环和getline函数从cin读取行到line中。这个循环会持续进行,直到输入流结束
    while (getline(cin, line)) {
        stringstream ss;    // 创建一个字符串流ss
        ss << line;         // 将读取到的行line放入字符串流ss中
        int res = 0, x;

        /*使用另一个while循环从字符串流ss中读取整数到变量x中,并将每个读取到的整数累加到res中。
        这个循环会持续进行,直到字符串流中没有更多的整数*/
        while (ss >> x) {
            res += x;
        }
        cout << res << endl;
    }
}

getline函数

getline 是一个在 C++ 标准库中非常有用的函数,它用于从输入流中读取一整行文本。getline 函数可以处理包含空格的字符串,这使得它在需要从输入中读取包含空格的整行文本时特别有用,这与 cin 运算符不同,后者在遇到空格、制表符或换行符时会停止读取。

getline 函数的原型通常如下:

istream& getline (istream& is, string& str, char delim);
  • istream& is:表示一个输入流,通常是 cin(标准输入)或者一个 ifstream 对象(用于从文件读取)。
  • string& str:这是一个字符串引用,getline 会把从输入流中读取的字符序列存储在这个字符串中。
  • char delim:这是一个可选参数,表示定界符(delimiter),即标志着输入结束的字符。如果不提供这个参数,getline 默认使用换行符(\n)作为定界符。

然而,在 <string> 头文件中,getline 的更常见形式是没有第三个参数的版本:

istream& getline (istream& is, string& str);

在这个版本中,getline 会读取输入直到遇到换行符,然后将读取的内容(不包括换行符)存储在 str 中。

下面是一个使用 getline 函数的简单示例:

#include <iostream>
#include <string>

int main() {
    std::string line;
    std::cout << "Please enter a line of text: ";
    std::getline(std::cin, line);
    std::cout << "You entered: " << line << std::endl;
    return 0;
}

在这个例子中,程序会等待用户输入一行文本,直到用户按下回车键(即输入换行符)。然后,程序会输出用户输入的内容。注意,getline 读取了整行,包括其中的空格,但不会包括换行符本身。

标签:include,读取,记录,每日,istream,换行符,getline,输入
From: https://www.cnblogs.com/yubo-guan/p/18072188

相关文章

  • 每日反思之学会结对编程
    长时间独立开发让人容易进入心流,也容易走向习惯性思维的误区。想起过去创业的时候,总是一个人写代码,自测,merge代码,分布上线,反馈之后再调整。整个过程全靠自己去思考并完成,在一些不复杂的情形下算是最简最快的方案。但当自己融入到一个大的团队和项目中,合作分工成为了主流,而不是单......
  • AcWing 503. 借教室(每日一题)
    原题链接:503.借教室-AcWing题库在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。 面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来......
  • PYTHON openpyxl 读取课程表,轮值排班表,输出每日班级简报
    源文件excel及python源文件链接:https://pan.baidu.com/s/1uswO_33jrgE3nvaJv47wGw提取码:clnw#frompickleimportAPPENDimportopenpyxlimportdatetimefromtimeimportstrftime#importre#fromdatetimeimportdatetime#fromdateutil.parserimportparse#impor......
  • 每日leetcode--接雨水
    引言接雨水问题是一个经典的算法问题,它要求我们计算给定一组不同高度的墙壁时,这些墙壁之间能够蓄积多少雨水。解决这个问题的方法有很多,其中一种常见的解法是通过辅助数组来记录每个位置的左右最大高度,并计算每个位置上方能够蓄积的雨水量。问题描述假设我们有一个非负整数......
  • window下使用Cygwin编译ffmpeg步骤和问题记录
    window下使用Cygwin编译ffmpeg步骤和问题记录1.编译环境搭建安装Cygwin到Cygwin官网下载Cygwin的可执行程序setup-x86_64.exe官网地址:https://cygwin.com/install.html安装包地址:https://cygwin.com/setup-x86_64.exe安装操作很简单,基本是下一步,下一步就可以安装过程中,......
  • Unity类银河恶魔城学习记录9-5 p93 Major stats and defensive stats源代码
    Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考此代码仅为较上一P有所改变的代码【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibiliCharacterStats.csusingSystem.Collections;usingSystem.Collections.Generic;using......
  • 每日"两"题 题解
    每日“二”题十年OI一场空,不开longlong见祖宗目录每日“二”题ABA题解:最值问题,一个条件在变,考虑使用二分:我们每次查找一个可切的最大巧克力,二分判断能不能这么切即可。C++代码voidsolve(){intn,k,l=1,r=0,ans;cin>>n>>k;vector<pair<int......
  • 记录解决HttpServletResponse在参数报错的问题
    下载excel功能需要用到HttpServletResponse,注入一直报错,java.lang.IllegalStateException:getOutputStream()hasalreadybeencalledforthisresponse@ResourceHttpServletResponsehttpServletResponse;使用注入的方法没问题刚开始用的gson报栈溢出的错误,后......
  • 每日一看大模型新闻(2024.1.11)2024属于小模型时代?TinyLlama 小模型发布后爆火:参数轻量
    1.产品发布1.1红旗品牌虚拟代言人上线“旗羿”和“旗妙”发布日期:2024.1.11一汽红旗携手腾讯混元大模型,提升服务体验主要内容:一汽红旗品牌近日推出了微信小程序“旗羿旗妙说”,该小程序基于腾讯混元大模型提供智能底座,为一汽红旗进行了全面的知识升级。同时,腾讯QQ联合一汽......
  • 商票琐碎知识点记录
    1.基础交易关系:直接前手可以基于没有基础关系进行抗辩【票据司法解释第二条  依照票据法第十条的规定,票据债务人(即出票人)以在票据未转让时的基础关系违法、双方不具有真实的交易关系和债权债务关系、持票人应付对价而未付对价为由,要求返还票据而提起诉讼的,人民法院应当依法受理......