[問題] struct裡使用vector(指標問題)

看板C_and_CPP (C/C++)作者 (CC政)時間16年前 (2010/04/11 16:32), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
我在寫一個讀txt檔的程式 使用struct 跟 vector,然後配合 指標 來讀 但在遇到一些在指標上問題 我的寫法: #include <vector> #include <iostream> #include <fstream> #include <cstring> using namespace std; struct gate_name { char name[32]; }; struct signal_name { char name[32]; vector<gate_name*> GnameAry; }; struct signal_amount { char amount[32]; vector<signal_name*> SnameAry; }; int main() { struct signal_amount signal_list; signal_name* psignal_name(0); gate_name* pgate_name(0); char buf[32]; char* pch; int x=0,y=0; ifstream input("bench1.txt"); while(!input.eof()) { input.getline(buf,32); if(buf[0] != ' ') { psignal_name = new signal_name; pch = strtok(buf," "); strcpy(psignal_name->name,pch); signal_list.SnameAry.push_back(psignal_name); x++; } else { pgate_name = new gate_name; strcpy(pgate_name->name,buf); signal_list.SnameAry[x]->GnameAry.push_back(pgate_name); ↑↑問題處:這樣的推法,跑了會當掉 y++; } } input.close(); } --- 輸入檔案形式(bench1.txt) N33 -->儲存在 signal_list.SnameAry[x]->name 裡 U202 -->想要存在 signal_list.SnameAry[x]->GnameAry[y]->name 裡 U204 ↗ U207 ↗ U210 ↗ --- 請問一下 我這樣的寫法是哪出錯了嗎? 希望各位高手能幫幫我~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.89.117

04/11 17:07, , 1F
我蠢了 x應該從-1開始 感謝高手指點!!
04/11 17:07, 1F
文章代碼(AID): #1BmOaF5M (C_and_CPP)
文章代碼(AID): #1BmOaF5M (C_and_CPP)