#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
int main(int argc, char *argv[]){
int sockfd;
struct sockaddr_in serv_addr;
struct hostent *hp;
char buff[100];
//Create socket
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd < 0){
perror("Failed to create socket!");
exit(1);
}
serv_addr.sin_family = AF_INET;
hp = gethostbyname(argv[1]); *
エラーは上記の行にある可能性がありますが、解決方法がわかりません これです。このエラーを解決するにはどうすればよいですか?
Geany、Linuxでこのコードをコンパイル、ビルド、実行すると、セグメンテーションフォールトエラーメッセージが表示されます。それはどうしてですか、どうすれば解決できますか?
このコードは不完全でコンパイルされません。このような小さなプログラムの中にあるSEGFAULTは、デバッグを始める良いタイミングです。 gdbを使用してコードを実行し、クラッシュが発生した場所を確認します。 – Gerhardh
コマンドライン引数を渡していますか? – skrtbhtngr
あなたは 'argc'が少なくとも2であることを確認しません。 – Gerhardh