[問題] 有人試過crypt()嗎?

看板b99902HW作者 (Oops)時間12年前 (2011/09/21 11:54), 編輯推噓4(402)
留言6則, 4人參與, 最新討論串1/1
我在系上linux嘗試 test.c ~ 1 #include <stdio.h> 2 #include <unistd.h> 3 4 int main(int argc,char** argv){ 5 6 if(argc!=3) exit(0); 7 else 8 printf("%s\n",crypt(argv[1],argv[2])); 9 return 0; 10 } >>gcc test.c -lcrypt >>./a.out apple am 卻會出現Segmentation fault (我看manual page,crypt應該是: char *crypt(const char *key, const char *salt); 實際上得到的return vale 卻是int...Orz) 我做錯了甚麼.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.192

09/21 12:31, , 1F
#define _XOPEN_SOURCE
09/21 12:31, 1F

09/21 16:00, , 2F
你怎麼知道return value是int?
09/21 16:00, 2F

09/21 16:39, , 3F
樓上 我猜 compile 時說不是能把 int assign 給 char
09/21 16:39, 3F
我改成 char* temp = crypt("apple","am"); 並在前面#define _XOPEN_SOURCE 我還是得到 warning: initialization makes pointer from integer without a cast [enabled by default] ※ 編輯: OppOops 來自: 140.112.4.192 (09/22 15:05)

09/22 15:08, , 4F
google一下一樓的 我還是重新再看看缺甚麼@@"
09/22 15:08, 4F

09/23 14:44, , 5F
放在第一行。所有 include 之前
09/23 14:44, 5F

09/23 17:47, , 6F
樓上一語道破 ~"~ 感謝
09/23 17:47, 6F
文章代碼(AID): #1EUL_ggq (b99902HW)