C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C / C ++を使用してローカルコンピューターのIPアドレスを取得するにはどうすればよいですか?


このセクションでは、ローカルシステムのホスト名とIPアドレスを簡単に確認する方法を説明します。ホスト名とIPを見つけるためのCプログラムを作成します。

以下の関数のいくつかが使用されます。これらの機能には異なるタスクがあります。機能とそのタスクを見てみましょう。

Sr.No 機能と説明
1 gethostname()
ローカルコンピュータの標準のホスト名を検索します。
2 gethostbyname()
ホストデータベースからホスト名に対応するホスト情報を検索します
3 iten_ntoa()
IPv4インターネットネットワークアドレスをドット付き10進形式のASCII文字列に変換します。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
void check_host_name(int hostname) { //This function returns host name for local computer
   if (hostname == -1) {
      perror("gethostname");
      exit(1);
   }
}
void check_host_entry(struct hostent * hostentry) { //find host info from host name
   if (hostentry == NULL){
      perror("gethostbyname");
      exit(1);
   }
}
void IP_formatter(char *IPbuffer) { //convert IP string to dotted decimal format
   if (NULL == IPbuffer) {
      perror("inet_ntoa");
      exit(1);
   }
}
main() {
   char host[256];
   char *IP;
   struct hostent *host_entry;
   int hostname;
   hostname = gethostname(host, sizeof(host)); //find the host name
   check_host_name(hostname);
   host_entry = gethostbyname(host); //find host information
   check_host_entry(host_entry);
   IP = inet_ntoa(*((struct in_addr*) host_entry->h_addr_list[0])); //Convert into IP string
   printf("Current Host Name: %s\n", host);
   printf("Host IP: %s\n", IP);
}

出力

Current Host Name: soumyadeep-VirtualBox
Host IP: 127.0.1.1

  1. C ++を使用してOpenCVの現在のフレームの位置を取得するにはどうすればよいですか?

    現在のフレームは、ビデオを再生していることを意味し、現在表示されているフレームが現在のフレームです。アクティブフレームとも呼ばれます。多くのアプリケーションでは、現在のフレームの番号を取得するように要求できます。 次のプログラムは、現在のフレームの位置を読み取り、コンソールウィンドウに表示します。 例 #include<opencv2/opencv.hpp>//OpenCV header to use VideoCapture class// #include<iostream> using namespace std; using namespace cv; int

  2. C ++を使用してOpenCVの特定のピクセルの値を取得するにはどうすればよいですか?

    特定のピクセルの値を読み取るには、「at」または「directaccess」メソッドのいずれかを使用できます。ここでは、両方のアプローチについて学習します。 atメソッドから始めましょう。次のプログラムは、RGB画像の(10、29)にあるピクセル値を読み取ります。 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> using namespace std; using namespace cv; int main() {    Mat image;//taking an image