我在我的GTK程序中仍然有問題。爲什麼會出現分段錯誤?
當我點擊編碼(或解碼)按鈕,我得到錯誤信息:
分段錯誤
我認爲這個問題是來自功能:ret
和encode
,但無法找到它。
//..
//gets the first argument(buf)
tx1=gtk_entry_get_text(GTK_ENTRY(entry));
//...
//gets the second argument(pass)
tx2=gtk_entry_get_text(GTK_ENTRY(entry));
//....
//signal to callback function encode when button clicked
g_signal_connect(but,"clicked",G_CALLBACK(encode(tx1,tx2)),NULL);
// ...
//convert const char* to char*
char* ret (const char *bd){
char *c = new char[12];
strcpy(c,bd);
return c;
}
//encode function
char encode(const char ebuf[],const char epass[]) {
//This is the complete function I wrote and I am still having the error.
char *buf=ret(ebuf);
char *pass=ret(epass);
}
什麼是ebuf和EPASS的strlens?爲什麼不使用'std :: string'? – user93353
爲什麼不使用調試器? – kotlomoy
它看起來像我在GTK根據什麼rodrigo說 – afr0ck