PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : system() Problem



hanswürstel
21-04-2008, 15:14
Hi,

ich habe noch nie C++ programmiert, und kenne mich daher noch garnicht aus. Ich will testweise ein kleines C++ Programm schreiben, was mir eine Windows-exe öffnet (hier Skype). Was ist an meinem Quellcode falsch? Sollte man es vielleicht mit ShellExecute oder exec() probieren?

hier der code:


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <shellapi.h>
#include <iostream.h>
#include <stdafx.h>

void main()
{
system("C:\Programme\Skype\Phone\Skype.exe");
}


gruss
hans

BLUESCREEN3D
21-04-2008, 16:11
Das eigentliche Problem ist, dass \ in Strings das Escape-Zeichen ist und das darauf folgende Zeichen beeinflusst.
Für ein einfaches \ musst du deshalb \\ schreiben.

Außerdem sollte main() ein int zurückgeben und in C++ nutzt man, soweit anders vorhanden, keine .h-Header mehr:

#include <cstdlib>

int main()
{
system("C:\\Programme\\...");

return EXIT_SUCCESS;
}

Vllt. willst du auch noch den Rückgabewert von system() auf mögliche Fehler prüfen.

hanswürstel
21-04-2008, 16:30
Hi,

danke für den Tip! Daran das es nicht direkt funktionierte war das bekackte Microsoft Visual C++ schuld. Habe es jetz mal unter Dev-C++ getestet, alles wunderbar!

thx a lot