C++ 如何在C++;?
我一直在研究如何使用C++ 如何在C++;?,c++,user-input,C++,User Input,我一直在研究如何使用std::cin读入一个整数,后跟一个空格和一个字符串 以下是store.txt文件: 2 Hello how are you 6 Oh no 1 Welcome 5 We are closed 如何在开头读入一个数字,后跟一个空格,然后读入后面的字符串 例如,当我cin一切时,当我拨打号码2时,它会给我字符串“你好” 您可以使用map来存储字符串 在映射中,键将是数字,而值将是字符串 您只需先使用cin函数将数字存储在地图中,然后 然后是字符串的getline函数,并将
std::cin
读入一个整数,后跟一个空格和一个字符串
以下是store.txt
文件:
2 Hello how are you
6 Oh no
1 Welcome
5 We are closed
如何在开头读入一个数字,后跟一个空格,然后读入后面的字符串
例如,当我cin
一切时,当我拨打号码2时,它会给我字符串“你好”
您可以使用map来存储字符串
在映射中,键将是数字,而值将是字符串
- 您只需先使用cin函数将数字存储在地图中,然后 然后是字符串的getline函数,并将它们存储到映射中
- 完成此操作后,您可以在O(1)时间内按数字访问字符串 订阅过程
#包括
使用名称空间std;
int main(){
地图m;
长n;
while(cin>>n){
字符串s;
getline(cin,s),;
m[n]=s;
}
//通过前面的数字访问字符串:)
请提问以显示您遇到问题的实际代码。调用运算符>>
,然后调用std::getline()
就足够了。您的问题归结为“如何读取包含空格的字符串?”因为你可以应用你已经知道的cin
来读取数字。你只需要尝试一下。这能回答你的问题吗?如果你把cin
和getline
混在一起,你迟早会遇到这样的问题:,
#include <bits/stdc++.h>
using namespace std;
int main() {
map<long long,string> m;
long long n;
while(cin>>n){
string s;
getline(cin,s);
m[n]=s;
}
// Accessing strings by numbers before them :)
cout<<m[1]<<"\n";
cout<<m[2]<<"\n";
cout<<m[6]<<"\n";
cout<<m[5]<<"\n";
}