我試圖從文件中讀取單詞和數字並將它們插入到節點結構中。 有一個包含StudentNames和StudentNumbers的文件。 我創建像一個結構:從文件讀取到C++節點
struct Node
{
string Name;
int Number;
Node *next;
Node::Node(){}
Node::Node(string ID, int No):Name(ID), Number(No){}
};
我試圖把名稱與數字直接到節點在創建節點。
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;
}
我的邏輯是,它讀取的話到的名字,因爲他們是字符串,它讀取數字化零爲號,因爲號爲int它不會接受字符串的整數。但它不會名稱,並且nos保持爲「」idk如何。
這基本上是我想要做的。我需要用包含名稱和數字的節點創建一個鏈表。
而另一個問題是我不明白* next是如何指向下一個節點的。
很抱歉,如果它的混亂,但我很困惑太:))
輸入文件示例
L0RDQB 12345
LordQb 23456
...
你忘了用'line'初始化'word'。 –
您的結構結合了兩個單獨的概念:1)包含名稱和編號的節點以及2)鏈接列表。更好的做法是創建兩個獨立的數據結構,每個用於一個目的。另外,如果您正在將文件中的數據讀入類(或結構體),爲此目的定義一個iostream提取器通常很方便。 – Edward