[C++] Variabletyp/Variable mit system("ping") verbinden

Moin C++ler.
Ich wollte mir ne kleine ping-Funktion schreiben, leider hab ich zwei Probleme:

  1. Welchen Typ muss die Variable ip haben, damit xxx.xxx.xxx.xxx möglich ist?
  2. Wie muss der Code nachher aussehen, dass ping.exe nachher diese IP/Variable anpingt?

Code:

[CODE]#include
#include
#include <stdlib.h>

using namespace std;

void ping()
{
WELCHERTYP? ip;
int a,b,c,d;

     cout << "ip eingeben" << endl;
     cin >> ip;
     
     cout << ip << endl;
     
     system("ping");

}

int main(int argc, char *argv)
{

ping();






system("PAUSE");
return EXIT_SUCCESS;

}
[/CODE]

mfg Plankton

IP sollte vom Typ string sein.
Das sieht dann so aus:

string ip = "127.0.0.1";

Dazu musst du aber den header „string“ einbinden.

Den ping aufruf führst du dann ganz normal wie auf der commandozeile aus:

system("ping " + ip);

Danke, nur kommt beim Kompilieren folgende Fehlermeldung:
http://sau.frubar.net/15256

F:\C++ Projekte\ping\main.cpp In function void ping()': 20 F:\C++ Projekte\ping\main.cpp cannot convert std::basic_string<char, std::char_traits, std::allocator >’ to const char*' for argument 1’ to `int system(const char*)’
F:\C++ Projekte\ping\Makefile.win [Build Error] [main.o] Error 1

Quellcode siehe Screenshot.

Was hab ich nun wieder falsch gemacht?:roll:

mfg Plankton

versuch mal folgendes:

system(string("ping ") + ip);

Problem besteht weiterhin. :frowning:

mfg Plankton

Versuch mal:

system(("ping " + ip).c_str());

Wenn das nicht geht:

system(("ping " + ip)->c_str());

Danke schön, jetzt klappt es endlich;Jump

mfg Plankton

Kann ich eigendlich irgendwie nen string senden?
beispielsweise an meinen freund, wenn ich seine ip kenne?

Ich glaube es auf Windows ein programm das sich netsend oder so ähnlich nennt. dort muss man nur ziel ip und den zu sendenden text angeben.

und selber schreiben?

system(" net send" etc....)

mfg Plankton

wobei für die Programmierung

system(„format c:“)

das effektivste ist!

ich wollt mal anmerken, dass netsend nur im netzwerk funzt…internet is nicht.