Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在C++;?_C++_User Input - Fatal编程技术网

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";
    
}