###前提・実現したいこと
visualstudio2015
c++
win32コンソールアプリケーション
でのソケット通信
###発生している問題・エラーメッセージ
http://blog.livedoor.jp/akf0/archives/51585502.html
のサンプルコードを入力したのですが
下記のエラーがでてしまいます
エラー C4996 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
###該当のソースコード
include <stdio.h>
include <winsock2.h>
int main(void) {
SOCKET s; //ソケット //接続するサーバの情報 struct sockaddr_in dest; //接続するサーバのIPアドレス //ループバックアドレスを利用 char destination[] = "127.0.0.1"; char buffer[1024]; //ソケット通信の準備 WSADATA data; WSAStartup(MAKEWORD(2, 0), &data); //接続先(サーバ)のアドレス情報を設定 memset(&dest, 0, sizeof(dest)); //ポート番号はサーバプログラムと共通 dest.sin_port = htons(7000); dest.sin_family = AF_INET; dest.sin_addr.s_addr = inet_addr(destination); //ソケットの生成 s = socket(AF_INET, SOCK_STREAM, 0); //サーバへの接続 if (connect(s, (struct sockaddr *) &dest, sizeof(dest))) { printf("%sに接続できませんでした\n", destination); return -1; } printf("%sに接続しました\n", destination); printf("数値を入力してください"); scanf_s("%s",buffer,1024); //サーバにデータを送信 send(s, buffer, sizeof(buffer), 0); //サーバからデータを受信 recv(s, buffer, 1024, 0); printf("→ %s\n\n", buffer); // Windows でのソケットの終了 closesocket(s); WSACleanup(); return 0;
}
###追記
define _WINSOCK_DEPRECATED_NO_WARNINGS
をプログラムのはじめに書いたところ
外部シンボル"_imp_inet_addr@4"は未解決です
のようなエラーがたくさんでてきました
どうすればエラーをなくすことができるのでしょうか
ws2_32.libはリンカーのコマンドラインの追加オプションに入れてあります
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。