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