流缓冲区(cin,getline等)

西拉伦斯

是否可以让用户在流缓冲区中输入一行字符,然后将它们存储在不同的变量(不同类型)中?

例如,用户编写以下分数之和:

1/5 + 2/7

我有5个变量:

int numerator1, denominator1, numerator2, denominator2; char operat;

在完成一段我不知道的花哨的代码之后,最后,这些变量将存储以下内容

numerator1 = 1
denominator1 = 5
operat = +
numerator2 = 2
denominator2 = 7

有什么建议?

chandra_cst

您绝对应该使用AST,因为它们会帮助您解析错误。但是,如果您正在寻找简单的解析功能,则可以考虑使用sscanf。PS:由于声誉问题,将其发布为答案。

#include<cstring>                                                                       
#include<cstdio>                                                                        
#include<iostream>                                                                      
using namespace std;                                                                    

int main()                                                                              
{                                                                                       
    char s[1024];                                                                   
    scanf("%s", s);                                                                 

    int n1, n2, dn1, dn2;                                                           
    char op1, op2, op3;                                                             
    sscanf(s, "%d%c%d%c%d%c%d", &n1, &op1, &dn1, &op2, &n2, &op3, &dn2);            

    cout<<"\n"<<n1<<" "<<op1<<" "<<dn1<<" "<<op2<<" "<<n2<<" "<<op3<<" "<<dn2<<endl;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 std::cin.getline() 后如何保留 std::cin 的缓冲区

来自分类Dev

为什么在使用getline之后cin无法获得缓冲区数据?

来自分类Dev

线程安全的缓冲区包装流

来自分类Dev

流混乱,了解缓冲区

来自分类Dev

流缓冲区中的默认内容

来自分类Dev

流和缓冲区的关系?

来自分类Dev

达尔文分配的getline缓冲区会怎样?

来自分类Dev

C ++中getline的缓冲区大小限制

来自分类Dev

std :: cin:清空输入缓冲区而不会阻塞

来自分类Dev

std :: cin:清空输入缓冲区而不会阻塞

来自分类Dev

检查cin输入,清除输入缓冲区

来自分类Dev

缓冲区通常比流处理更快吗?

来自分类Dev

是否可以将流同步转换为缓冲区?

来自分类Dev

如何使用流解析缓冲区中的行?

来自分类Dev

流缓冲区之间的数据块级复制

来自分类Dev

C ++-缓冲区和流都需要什么?

来自分类Dev

如何从内存缓冲区加载张量流图

来自分类Dev

与I / O中的流的缓冲区链接

来自分类Dev

如何从缓冲区返回文件流?

来自分类Dev

如何在流缓冲区C中添加参数

来自分类Dev

什么用作缓冲区流的定界符

来自分类Dev

如何使用puppeteer获取下载流(缓冲区)?

来自分类Dev

如何使用流解析缓冲区中的行?

来自分类Dev

从套接字转换(解析)Google协议缓冲区流

来自分类Dev

每个流的TCP套接字缓冲区

来自分类Dev

C ++-缓冲区和流都需要什么?

来自分类Dev

流缓冲区之间的数据块级复制

来自分类Dev

通过HTTP(通过FFmpeg)流OpenGL帧缓冲区

来自分类Dev

比较缓冲区