我如何输入一些字符串并将其存储在变量中? (C ++)

时间:2014-08-10 21:35:59

标签: c++ visual-c++ c++11

我希望在C ++中使用相同的C#代码

String name;
name=Console.ReadLine();

我尝试了以下代码,但它不起作用!

struct node{string player_name};
    p=new struct node;
    getline(cin,p->player_name);

2 个答案:

答案 0 :(得分:3)

#include <iostream>
#include <string>
using namespace std;

int main(){
    string s;
    getline(cin,s);
    cout << s;
}

请在http://ideone.com/AgLUGv

处尝试

答案 1 :(得分:1)

您发布的代码无法编译。例如,在;之后缺少player_name。这是一个编译的版本:

#include <iostream>
#include <string>

struct node{
    std::string player_name;
};

int main()
{
   node * p= new node();
   std::getline(std::cin, p->player_name);
   delete p;
   return 0;
}

当然有一种更简单的方法,你不需要使用new/delete就可以在堆栈上创建对象。 player_name的内容在堆中创建:

#include <iostream>
#include <string>

struct node {
    std::string player_name;
};

int main()
{
    node p;
    std::getline( std::cin, p.player_name);

    return 0;
}

如果您想要等同于C#代码,那么我们可以移除node struct

#include <iostream>
#include <string>

int main()
{
    std::string name;
    std::getline( std::cin, name);

    return 0;
}