Forum: System()

Forum huvudsida -> Programmering -> System()

Sidor: 1

Till botten

nibbo 16:55 - 2:a April 2005 | Post #1
Administratör
Inlägg: 446


Skicka PM
jag håller nu på med ett program som jag kallar Easy netsend. problemet är att jag inte kan skicka två variabler till systemprylen (vad kallar man det). jag har skrivit såhär

system("net send" datornamn meddelande);

jag kompilerar i visual c++.
jag får felmeddelandet:
error C2146: syntax error : missing ')' before identifier 'datornamn'
error C2059: syntax error : ')'

någon som har nån lösning?

-------------------------
Ja! Det är en ,,KTA pungsvansknapp på min avatar!



Independence 17:26 - 2:a April 2005 | Post #2
Administratör
Inlägg: 1800


Skicka PM
Jag tror att en riktig C++-lösning skulle se ut såhär:
stringstream command;
command << "net send" << datornamn << meddelande;
system(command);

Eller så har jag glömt bort allt totalt Smiley Du kan ju testa iaf. Kom ihåg att köra med using namespace std; eller liknande.

-------------------------

Vi är riddarna som säger fiskbulle!





nibbo 17:42 - 2:a April 2005 | Post #3
Administratör
Inlägg: 446


Skicka PM
mja system kan nog bara hantera char variabler så jag provade med

char command[69];
command << "net send" << datornamn << meddelande;
system(command);

men då får jag felmeddelandet:
error C2296: '<<' : illegal, left operand has type 'char [69]'
error C2297: '<<' : illegal, right operand has type 'const char [9]'

:(


-------------------------
Ja! Det är en ,,KTA pungsvansknapp på min avatar!



Independence 17:45 - 2:a April 2005 | Post #4
Administratör
Inlägg: 1800


Skicka PM
Okej, datornamn måste vara av typen string.
Gör om den till en string och skriv såhär när du anropar system:
system(command.c_str());


-------------------------

Vi är riddarna som säger fiskbulle!





nibbo 18:11 - 2:a April 2005 | Post #5
Administratör
Inlägg: 446


Skicka PM
det funkar nu fast du hadde glömt lite indy
command = "net send " + datornamn + " " + meddelande;
    system(command.c_str());


Väldigt många tack till dig indy!

-------------------------
Ja! Det är en ,,KTA pungsvansknapp på min avatar!

Senast redigerad 18:12 - 2:a April 2005


Independence 18:30 - 2:a April 2005 | Post #6
Administratör
Inlägg: 1800


Skicka PM
Okej.. så kan man ju också göra Smiley Jag tänkte mig mer något sådanthär:

#include <iostream>
#include <sstream>

using namespace std;

int main()
{

        string datornamn = "emil";
        stringstream command;

        command << "net send " << datornamn;

        cout << command.str().c_str();

        return 0;
}


Det blir lite krångligare, men du kan skriva command << int_variabel; t ex utan att behöva krångla massor. Men det behöver du ju iofs inte i det här fallet..

-------------------------

Vi är riddarna som säger fiskbulle!





Sidor: 1

Forum huvudsida -> Programmering -> System()
Atom feed

Du får inte posta i den här tråden | Till toppen