我正在尝试从文件中读取单词和数字,并将它们插入到Node结构中。 有一个文件,其中包括StudentNames和StudentNumbers。 我已经创建了一个结构:
struct Node
{
string Name;
int Number;
Node *next;
Node::Node(){}
Node::Node(string ID, int No):Name(ID), Number(No){}
};
我正在尝试在创建Node时将Names和Numbers直接放到Node上。
string filename, line,names;
int nos;
cout<<"Enter Filename: ";
cin >> filename;
ifstream input(filename);
if(input.fail())
{
cout<<"\n FAILED TO OPEN FILE";
}
else
{
getline(input, line);
stringstream word;
word>>names
word>>nos
Node *p;
p=new Node(names,nos);
cout<<p->Name<<p->Number;
}
我的逻辑是它将单词读入名称,因为它们是字符串,它将数字部分读入nos,因为nos是int,它不接受字符串只有整数。但是它没有名字,而且nos仍然像“idk一样”。
这基本上就是我想要做的。我需要使用包含名称和数字的theese节点创建链接列表。
另一个问题是我没有得到* next指向下一个节点的方式。
对不起,如果它令人困惑,但我也很困惑:))
输入文件示例
L0RDQB 12345
LordQb 23456
...
答案 0 :(得分:0)
为Node
创建第二个接受istream
:
Node::Node(istream &is) { is >> Name >> Number; }
我会将eof检测作为练习留给读者。