基本上我建立一個港口掃描器的種類(技術上它背馱着另一個端口,罐頭,但多數民衆贊成並不重要)。問題在於用戶輸入要掃描的目標IP地址的代碼。 程序運行平穩,直到用戶輸入IP地址後返回'分段錯誤:11'錯誤。c編程詮釋變量與多個'。's
我已經做了一些關於分段錯誤的研究,我相信這個特殊的錯誤是由於我的代碼已經聲明targetIP
變量是一個字符,但包含多個'。'的數字,因爲您需要一個IP地址。
所以我的問題是,我需要什麼樣的變量類型可以處理多個'。's?例如:225.1.1.24
代碼: ''
char *target_IP;
scanf("%s",target_IP);
// segmentation fault occurs here so bellow printf is never displayed vv
printf("\nWriting target IP [%s] to file\n",target_IP);
顯示讀取IP和相關變量聲明的代碼部分。'char'肯定是錯誤的,如果有的話,它應該是'char []'。 – PMF 2015-03-25 08:18:16
包含「多個點」的char []應該沒有任何問題。修改你的代碼。 – Matt 2015-03-25 08:18:25
您可以使用char *來存儲字符,並將字符串轉換爲不包含''的int類型的'struct'。' – James 2015-03-25 08:27:52