0
我想從鏈接列表填充gtk樹存儲,但我得到分段錯誤(核心轉儲)問題在這裏是我的代碼文件結構是一個鏈接列表填充結構教授,旁邊的教授通過名稱matiere密碼僞定義...等從文件填充Gtk樹存儲
store = gtk_list_store_new (NUM_COLUMNNS,G_TYPE_INT,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_INT);
File_to_struct *p=head;
/* add data to the list store */
while(p!=NULL)
{
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
COLUMNN_ID,p->professeur.ID,
COLUMNN_NOM,p->professeur.nom,
COLUMNN_MATIERE,p->professeur.matiere,
COLUMNN_PSEUD,p->professeur.pseudo,
COLUMNN_PASS,p->professeur.password,
COLUMNN_VALIDE,p->professeur.valide,
-1);
p=p->suivant;
}
FILE fichier=fopen("professeur.txt","r");
Prof professeur;
File_to_struct *tete=(File_to_struct)malloc(sizeof(File_to_struct));
tete=NULL;
rewind(fichier);
while((!feof(fichier)))
{
fscanf(fichier,"\n%s %s %s %s %d %d\n",professeur.nom,professeur.matiere,professeur.pseudo,professeur.password, &professeur.valide,&professeur.ID);
tete=inserer(tete,professeur); }
typedef struct prof{
int ID;
int valide;
char nom[40];
char matiere[40];
char password[40];
char pseudo[40]; }Prof;
typedef struct file_to_struct{
Prof professeur;
struct file_to_struct *suivant; }File_to_struct;
爲例你的字符串是否正確地以null結尾你如何填寫清單? –
不是你如何聲明它,你如何寫入數據? File_to_struct * inserer(File_to_struct * Debut,Prof profs) –
File_to_struct * inserer(File_to_struct * Debut,Prof profs)File_to_struct * nv =(File_to_struct *)malloc(sizeof(File_to_struct)); nv-> professeur = profs; nv-> suivant = Debut; Debut = nv; return(Debut); } –