No.2ベストアンサー
- 回答日時:
こんにちは。
No.1さんお答えのようにそのまま書けばOKですが、
Cプログラムの中から呼ぼうというのは特別わけがあるのでしょうか。
ping はエラーコードとしてリモートホストが正常にパケットに反応すれば0、
向こうが応答パケットを返してこなければ1、
ホストがダウンしているなら2を返します。
詳細は「man ping」で。
こんなプログラムをでっち上げてみました(仮称 pingpong.c)。
引数に任意のホスト名または IP アドレスを取れます。
$ pingpong www.example.org
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUF 64
#define CHECKCOUNT 5
int main(int argc, char *argv[])
{
int result;
char command[BUF];
char *hostptr = "192.168.0.0";
if (argc == 2) hostptr = argv[1];
if (strlen(hostptr) >= BUF-25)
{
fprintf(stderr, "Hostname too long.\n");
exit(4);
}
/* ping コマンドは饒舌で、-q をつけても完全には黙りません */
sprintf(command, "ping -q -c %d %s >/dev/null", CHECKCOUNT, hostptr);
result = system(command);
/* シェルスクリプトに戻り値を判断させたいなら以下は不要で
すぐに return result; してください */
switch (result)
{
case 1:
puts("No packets received.");
return result;
case 2:
puts("Host unreachable");
return result;
}
return result;
}
No.1
- 回答日時:
あなたがお書きになっている通りに、
#include <stdlib.h>
int main() {
system("ping -c 3 127.0.0.1");
}
でできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- セキュリティソフト ヤフーメール 2 2022/05/02 23:02
- プリンタ・スキャナー 「ネットワーク上にプリンタが見つかりませんでした」 5 2023/08/02 20:53
- UNIX・Linux raspberry piを使ったWebサーバー制作をしています、接続するネットワークを変更したときに 1 2023/01/09 15:57
- ネットワーク 自作のサーバーPCが自宅内のネットワークに接続できない 3 2023/01/24 16:58
- UNIX・Linux linuxサーバーのキャッシュをクリアするコマンドを実行したい。 5 2023/01/24 14:52
- ネットワーク LANケーブル接続したPCのファイルが見れない 2 2022/08/18 16:00
- UNIX・Linux いつの間にか自宅サーバーが見れなくなっていた時のトラブルシューティング手順をご教示ください 4 2023/02/15 21:01
- 中古パソコン USBキーボードを外すと、起動できなくなる 2 2023/03/25 14:57
- その他(Microsoft Office) 正しい日本語を直してほしいです 3 2022/04/09 16:42
- その他(OS) Windows11のファイル共有 1 2022/12/08 10:42
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
pingの結果を取得する方法
C言語・C++・C#
-
C言語でpingを実行してその結果をもらうプログラム
C言語・C++・C#
-
相手のIPアドレスを取得する方法
C言語・C++・C#
-
-
4
ネットワーク切断を検出するには?
C言語・C++・C#
-
5
systemの戻り値を取得する方法
C言語・C++・C#
-
6
Visual C++からpingを実行してその結果を得る方法
C言語・C++・C#
-
7
コマンド(例えばls)の出力結果を文字列で取得するプログラムの作成方法
C言語・C++・C#
-
8
Linuxでのスレッド間メッセージについて
C言語・C++・C#
-
9
INIファイルからのデータ読込みについて
C言語・C++・C#
-
10
バッチファイルでpingの結果を参照したい
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
ftoa の作り方
-
C言語のfor文です。 繰り返しの...
-
エンディアン:2バイトのデー...
-
絶対パスからのファイル名の切...
-
テキストデータをそのままバイ...
-
charでの計算?
-
strtol関数 自作
-
C言語の入力した文字を反転させ...
-
3桁区切(コンマ)記号をつけ...
-
「ポインタのポインタ」を使っ...
-
【C言語】文字型と整数型の違い
-
コマンドラインに入力されてい...
-
c言語配列の結合についてです。...
-
配列をnビットシフトする
-
str系関数を使わずに二つの文字...
-
【C言語】構造体内の領域解放(...
-
文字列から空白を取り除きたい...
-
atoi( ) の反対をやりたい
-
OpenCVで32bit ヘッダ無しRaw画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
charからLPTSTRへの変換方法
-
charでの計算?
-
配列をnビットシフトする
-
'const char *' 型は 'char *' ...
-
型変換
-
テキストデータをそのままバイ...
-
文字列から空白を取り除きたい...
-
CStringをwchar_tに変換したい
-
絶対パスからのファイル名の切...
-
fgetsなどのときのstdinのバッ...
-
ネットワークにつながっている...
-
str系関数を使わずに二つの文字...
-
3桁区切(コンマ)記号をつけ...
-
atoi( ) の反対をやりたい
-
double型の値をchar配列に変換...
-
C言語のfor文です。 繰り返しの...
-
switch文で文字を比較すること...
-
ファイル名である文字列からbas...
-
c++ 文字列を入力して、一文字...
-
strncpyと_tcsncpy_sのヌルの扱...
おすすめ情報