gpt4 book ai didi

c++ - 如何在 C++ 中逐字符输入?

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:14 24 4
gpt4 key购买 nike

首先,我需要读取两个用空格分隔的整数 N 和 Q。我正在使用 cin 执行此操作。然后在接下来的两行中,后面跟着两个二进制数,每一个都有 N 个数字。我正在尝试使用 getchar() 一点一点地读取这些数字并将它们放入 int vector 中,但它正在打印垃圾值。换行字符有问题吗?我知道我可以先将它们读入一个字符串,然后将它们放入 vector 中,但我想这样做。这是我的代码:

#include <iostream>
#include <algorithm>
#include <vector>
#include <stdio.h>
using namespace std;
int main(){
int N;
int Q;
cin >>N>>Q;
string A, B;
//cin >> A>>B;
vector <int> Abit;
vector <int> Bbit;

for (int i=0;i<N;i++){
char c= (int) getchar();
Abit.push_back(c);
}
for (int i=0;i<N;i++){
// cout << Abit.at(i);
char c= (int) getchar();
Bbit.push_back(c);
}
for (int i=0;i<N;i++){
cout << Abit.at(i);
// char c= (int) getchar();
// Bbit.push_back(c);
}
}

最佳答案

你可以通过阅读一个字符来简单地做到这一点。

char c;
for ( int i = 0; i < N; ++i ){
cin >> c;
Abit.push_back(c);
}
for ( int i = 0; i < N; ++i ){
cin >> c;
Bbit.push_back(c);
}

>> 运算符将避免任何形式的分隔符、空格、换行符等。

关于c++ - 如何在 C++ 中逐字符输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18768475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com