Ergebnis 1 bis 17 von 17

Thema: C++ Systemshutdown

  1. #1
    powerlocke Regelmäßiger Besucher
    Registriert seit
    12.01.2010
    Beiträge
    194
    Danksagungen
    9

    Standard C++ Systemshutdown


    Hi,
    ich lerne seit einigen Wochen im Berufsschulunterricht C++.
    Eigentlich bin ich der Typ der an alles strukturiert herangeht und Schritt für Schritt lernt, allerdings bin ich im Moment ungeduldig. Deswegen frage ich jetzt einfach mal.

    Ich wollte mit Cpp eine kleine Anwendung schreiben, die einen fragt,
    wann das System herrunterfahren soll, und das ganze dann selbstständig ausführt. Meine bisherige Idee, die nicht funktioniert, sieht so aus :

    // systemShutDown.cpp Ein Programm zum Herrunterfahren des Computers nach einer bestimmten Zeit

    #include <iostream>
    #include <conio.h>
    #include <stdlib.h>
    using namespace std;



    int main ()
    {

    int stundeninmin, stunden, minuten, zeitgesamt;


    cout << "********************************************* **" << endl << endl;
    cout << "Geben Sie die Stunden ein: " << endl << endl;
    cin >> stunden;
    cout << endl;

    cout << "Geben Sie die Minuten ein: " << endl << endl;
    cin >> minuten;
    cout << endl;

    stundeninmin = stunden * 60;

    zeitgesamt = stundeninmin + minuten;

    cout << "Das System wird in: " << zeitgesamt << " Minuten heruntergefahren" << endl << endl;
    cout << "********************************************* **" << endl;

    system("shutdown /s /t zeitgesamt");

    getch ();
    return 0;
    }

    Tja leider kommt immer ein Fehler in der DOS-Box bezüglich der Befehlssyntax.

    Ist mein Denkansatz völlig falsch? Oder muss ich einfach nur eine Kleinigkeit ändern?
    Wäre super wenn mir jemand einen funktionierenden Tipp oder Ansatz geben könnte.
    Wie gesagt, eigentlich hatte ich mich bisher nur mit den Grundlagen Cin, Cout, If, Else und den ganzen Variablentypen beschäftigt.

    Danke

  2. #2
    BitGNU Aktiver Benutzer
    Registriert seit
    09.11.2010
    Beiträge
    525
    Danksagungen
    129

    Standard

    Kannst du die Fehlermeldung angeben?
    Tritt der Fehler während der Laufzeit auf oder während du kompilierst?

    So auf dem ersten Blick sehe ich nur das fehlende Leerzeichen bei getch (); -> getch();

  3. #3
    IntelFan Foren-Neuling
    Registriert seit
    30.08.2011
    Beiträge
    32
    Danksagungen
    1

    Standard

    Also ich bin zwar nur ein laie, aber ich denke, da beim durchlaufen des Porgramms
    der Befehl /a auftaucht, wird es abgebrochen. Jedoch weiß ich nicht warum genau dieser Befehl auftaucht ... zwischen cout<< ************* und system("shutdown /s /t zeitgesammt")

    cout << "Das System wird in: " << zeitgesamt << " Minuten heruntergefahren" << endl << endl;
    cout << "********************************************* **" << endl; // <- hier

    system("shutdown /s /t zeitgesamt"); // und diesem Befehl

    Da zwischen taucht bei der durchführung des Programms folgendes auf:

    Syntax: shutdown [ /i : /l : / s : /r : /g : /a : /p : /h : /e ][ /f ]

    Dieses /a bedeutet eigl abbruch des herunterfahrens. Ich würde mal ganz frech behaupten, dass dies der fehler sei. Aber ich habe keine Ahnung, wie genau das /a dahin kommt, da durch die programmierung /s /t nur das /f dazugezogen wird (autom. schließen aller offenen programme ohne vorwarnung!

    Ich hoffe trotzdem, dass ich heflen konnte!


    Gruß

    Intelfan

  4. #4
    powerlocke Regelmäßiger Besucher
    Registriert seit
    12.01.2010
    Beiträge
    194
    Danksagungen
    9

    Standard

    Hi,
    also kompilieren tut er sauber. Der Fehler tritt auf wenn ich das Programm ausführe. Ich denke auch das der Fehler da liegt wo IntelFan geschrieben hat. Kann es vlt. sein das er, wenn ich den Cmd Befehl ausführe, die Variable "zeitgesamt" nicht als Zahl erkennt, und deswegen der Syntaxfehler entsteht?
    Ich werde mal einen Screenshoot des Fehlers hochladen.

    So hier der Upload:
    Geändert von powerlocke (20.01.2012 um 08:21 Uhr)

  5. #5
    Avatar von pixelflat
    pixelflat Super-Moderator und Deus ex machina
    Registriert seit
    06.03.2007
    Ort
    Ingolstadt
    Beiträge
    10.834
    Danksagungen
    1.058

    Standard

    Ja, es wird der Text "zeitgesamt" als Parameter übergeben, was natürlich keinen Sinn macht.

    Ich bin in C/C++ schon ziemlich eingerostet, aber versuch mal sowas wie:
    system("shutdown ..." + zeitgesamt.c_str());

    Oder vielleicht gehts mit sprintf()...

  6. #6
    powerlocke Regelmäßiger Besucher
    Registriert seit
    12.01.2010
    Beiträge
    194
    Danksagungen
    9

    Standard

    Also wenn ich zeitgesamt.c_str() so einbaue wie vorgeschlagen, wird beim kompilieren folgender Fehler erzeugt:

    K:\Cpp Programme\systemShutDown.cpp In function `int main()':
    K:\Cpp Programme\systemShutDown.cpp missing terminating " character
    K:\Cpp Programme\systemShutDown.cpp expected `)' before ';' token

    Wie gesagt da ich noch nicht so lange dabei bin kann ich schlecht sagen wo da jetzt der Fehler liegt. Muss ich noch eine Bibliothek einbauen? Oder muss ich die Variable jetzt anders benennen ? Der Code sieht im moment mit der Änderung so aus:

    // systemShutDown.cpp Ein Programm zum Herrunterfahren des Computers nach einer bestimmten Zeit

    #include <iostream>
    #include <conio.h>
    #include <stdlib.h>
    using namespace std;



    int main ()
    {

    int stundeninmin, stunden, minuten;
    string zeitgesamt;


    cout << "********************************************* **" << endl << endl;
    cout << "Geben Sie die Stunden ein: " << endl << endl;
    cin >> stunden;
    cout << endl;

    cout << "Geben Sie die Minuten ein: " << endl << endl;
    cin >> minuten;
    cout << endl;

    stundeninmin = stunden * 60;

    zeitgesamt = stundeninmin + minuten;

    cout << "Das System wird in: " << zeitgesamt << " Minuten heruntergefahren" << endl << endl;
    cout << "********************************************* **" << endl;

    system("shutdown /s /t zeitgesamt.c_str);

    getch ();
    return 0;
    }

  7. #7
    Avatar von pixelflat
    pixelflat Super-Moderator und Deus ex machina
    Registriert seit
    06.03.2007
    Ort
    Ingolstadt
    Beiträge
    10.834
    Danksagungen
    1.058

    Standard

    Schau mal was du geschrieben hast und was ich geschrieben hab.

    Die Compiler Meldung sagt dir eigentlich schon alles: es stimmt was mit den Anführungszeichen nicht (weshalb wiederrum die Klammern falsch sind).

  8. #8
    powerlocke Regelmäßiger Besucher
    Registriert seit
    12.01.2010
    Beiträge
    194
    Danksagungen
    9

    Standard

    Oh ha der Teufel steckt wie immer im Detail. Leider scheint das ganze so immer noch nicht zu funktionieren. Habe jetzt alles entsprechend geändert und nun kommt der Fehler:

    K:\Cpp Programme\systemShutDown.cpp In function `int main()':
    K:\Cpp Programme\systemShutDown.cpp `c_str' is not a type
    K:\Cpp Programme\systemShutDown.cpp request for member of non-aggregate type before '(' token

    Im moment sieht das ganze so aus:

    // systemShutDown.cpp Ein Programm zum Herrunterfahren des Computers nach einer bestimmten Zeit

    #include <iostream>
    #include <conio.h>
    #include <stdlib.h>
    using namespace std;




    int main ()
    {

    int stundeninmin, stunden, minuten, zeitgesamt;
    char * c_str;


    cout << "********************************************* **" << endl << endl;
    cout << "Geben Sie die Stunden ein: " << endl << endl;
    cin >> stunden;
    cout << endl;

    cout << "Geben Sie die Minuten ein: " << endl << endl;
    cin >> minuten;
    cout << endl;

    stundeninmin = stunden * 60;

    zeitgesamt = stundeninmin + minuten;

    cout << "Das System wird in: " << zeitgesamt << " Minuten heruntergefahren" << endl << endl;
    cout << "********************************************* **" << endl;

    system("shutdown /s /t" + zeitgesamt.c_str() );

    getch ();
    return 0;
    }

  9. #9
    powerlocke Regelmäßiger Besucher
    Registriert seit
    12.01.2010
    Beiträge
    194
    Danksagungen
    9

    Standard

    Keiner mehr eine zündene Idee?

  10. #10
    powerlocke Regelmäßiger Besucher
    Registriert seit
    12.01.2010
    Beiträge
    194
    Danksagungen
    9

    Standard

    So mein Azubikolege hat es doch noch geschafft das Vorhaben umzusetzten. Er hat genauso wenig Vorkentnisse wie ich. Geschafft hat er es weil er sich aus dem Internet Quellcode zusammenkopiert hat. Er ist zwar froh das es klappt, doch kann er sich genauso wenig wie ich erklären, was ab der Zeile :
    "std::string s ;"

    genau passiert.
    Was bedeuten zum Beispiel die Doppelpunkte? Wofür steht das std?
    Es wäre total hilfreich wenn jemand uns ab der Zeile die ich s.o. eingefügt habe, im Detail erklären könnte was das Programm macht.
    Hier also der Funktionierende Quelltext:

    // http://www.cplusplus.com/doc/tutorial/files/
    // http://de.wikibooks.org/wiki/C++-Pro...:_Dateizugriff
    // http://www.henkessoft.de/C++/WinAPI/...s%206/api1.htm
    #include <iostream> // Grund eingabe- ausgabe
    #include <conio.h> //
    #include <windows.h> // für Windows
    #include <sstream> // Convert int to string
    using namespace std;



    int main()

    {
    int stund, minut, sek, sek1, sek2, summe ;

    cout<<"Herunterfahren";

    cout << " in ??? Stunden ? " << endl;
    cin >> stund;

    cout<<"in ??? Minuten ? "<< endl;
    cin>> minut;

    cout<<"in ??? Sekunden ? "<<endl;
    cin>> sek;


    sek1=stund*60*60;

    sek2=minut*60;

    summe=sek+sek1+sek2;


    std::string s ;
    std::stringstream out;
    out << summe;
    s = out.str();

    std::string s1 ="shutdown /s /t "+s;
    system(s1.c_str());

    cout<<"Computer wird in "<< stund << " Stunden "<< minut<< " Minuten " << sek <<" Sekunden heruntergefahren."<< endl;

    //cout<<"TEST "<<summe; //test

    getch ();
    return 0;

    }

  11. #11
    Avatar von pixelflat
    pixelflat Super-Moderator und Deus ex machina
    Registriert seit
    06.03.2007
    Ort
    Ingolstadt
    Beiträge
    10.834
    Danksagungen
    1.058

    Standard

    Mit zwei Doppelpunkten gibst du den namespace an:
    http://www.cplusplus.com/doc/tutorial/namespaces/

    In dem Fall brauchst du die eigentlich gar nicht, weil du oben schon den namespace definiert hast und unten kein anderer außer "std" verwendet wird.

    Der Rest ist nur Konvertierung von Integer nach String (dafür gibts auch viele andere Wege) und zusammen basteln.

  12. #12
    powerlocke Regelmäßiger Besucher
    Registriert seit
    12.01.2010
    Beiträge
    194
    Danksagungen
    9

    Standard

    Alles klar das habe ich verstanden. Ist dann ja doch ziemlich leicht ;-)

  13. #13
    skunde Regelmäßiger Besucher
    Registriert seit
    24.07.2011
    Ort
    Kiel
    Beiträge
    156
    Danksagungen
    4

    Standard

    programier nur mit C und C# aber das problem müsste hier liegen:
    system("shutdown /s /t zeitgesamt");

    versuch es mal mit:
    system("shutdown /s /t %i",zeitgesamt);

  14. #14
    powerlocke Regelmäßiger Besucher
    Registriert seit
    12.01.2010
    Beiträge
    194
    Danksagungen
    9

    Standard

    Also das ist irgendwie schräg. Wenn ich deine Zeile (von skunde) in den Code einfüge und dann kompiliere, verändert er auf einmal den kompletten Quelltext in ein riesen Ding! So sieht es vor dem kompilieren aus:

    // systemShutDown.cpp Ein Programm zum Herrunterfahren des Computers nach einer bestimmten Zeit

    #include <iostream>
    #include <conio.h>
    #include <stdlib.h>
    using namespace std;




    int main ()
    {

    int stundeninmin, stunden, minuten, zeitgesamt;
    char * c_str;


    cout << "********************************************* **" << endl << endl;
    cout << "Geben Sie die Stunden ein: " << endl << endl;
    cin >> stunden;
    cout << endl;

    cout << "Geben Sie die Minuten ein: " << endl << endl;
    cin >> minuten;
    cout << endl;

    stundeninmin = stunden * 60;

    zeitgesamt = stundeninmin + minuten;

    cout << "Das System wird in: " << zeitgesamt << " Minuten heruntergefahren" << endl << endl;
    cout << "********************************************* **" << endl;

    system("shutdown /s /t %i",zeitgesamt);

    getch ();
    return 0;
    }

    Und so sieht das Ganze nach dem kompilieren aus:

    /*
    * stdlib.h
    * This file has no copyright assigned and is placed in the Public Domain.
    * This file is a part of the mingw-runtime package.
    * No warranty is given; refer to the file DISCLAIMER within the package.
    *
    * Definitions for common types, variables, and functions.
    *
    */

    #ifndef _STDLIB_H_
    #define _STDLIB_H_


    #include <_mingw.h>


    #define __need_size_t
    #define __need_wchar_t
    #define __need_NULL
    #ifndef RC_INVOKED
    #include <stddef.h>
    #endif

    /*
    * RAND_MAX is the maximum value that may be returned by rand.
    * The minimum is zero.
    */
    #define RAND_MAX 0x7FFF

    /*
    * These values may be used as exit status codes.
    */
    #define EXIT_SUCCESS 0
    #define EXIT_FAILURE 1

    /*
    * Definitions for path name functions.
    * NOTE: All of these values have simply been chosen to be conservatively high.
    * Remember that with long file names we can no longer depend on
    * extensions being short.
    */
    #ifndef __STRICT_ANSI__

    #ifndef MAX_PATH
    #define MAX_PATH (260)
    #endif

    #define _MAX_PATH MAX_PATH
    #define _MAX_DRIVE (3)
    #define _MAX_DIR 256
    #define _MAX_FNAME 256
    #define _MAX_EXT 256

    #endif


    #ifndef RC_INVOKED

    #ifdef __cplusplus
    extern "C" {
    #endif

    #if !defined (__STRICT_ANSI__)

    /*
    * This seems like a convenient place to declare these variables, which
    * give programs using WinMain (or main for that matter) access to main-ish
    * argc and argv. environ is a pointer to a table of environment variables.
    * NOTE: Strings in _argv and environ are ANSI strings.
    */
    extern int _argc;
    extern char** _argv;


    #ifdef __MSVCRT__

    extern int* __cdecl __p___argc(void);
    extern char*** __cdecl __p___argv(void);
    extern wchar_t*** __cdecl __p___wargv(void);

    #define __argc (*__p___argc())
    #define __argv (*__p___argv())
    #define __wargv (*__p___wargv())

    #else

    #ifndef __DECLSPEC_SUPPORTED

    extern int* _imp____argc_dll;
    extern char*** _imp____argv_dll;
    #define __argc (*_imp____argc_dll)
    #define __argv (*_imp____argv_dll)

    #else

    __MINGW_IMPORT int __argc_dll;
    __MINGW_IMPORT char** __argv_dll;
    #define __argc __argc_dll
    #define __argv __argv_dll

    #endif

    #endif
    #endif
    /*
    * Also defined in ctype.h.
    */
    #ifndef MB_CUR_MAX
    #ifdef __DECLSPEC_SUPPORTED
    # ifdef __MSVCRT__
    # define MB_CUR_MAX __mb_cur_max
    __MINGW_IMPORT int __mb_cur_max;
    # else
    # define MB_CUR_MAX __mb_cur_max_dll
    __MINGW_IMPORT int __mb_cur_max_dll;
    # endif

    #else
    # ifdef __MSVCRT__
    extern int* _imp____mbcur_max;
    # define MB_CUR_MAX (*_imp____mb_cur_max)
    # else
    extern int* _imp____mbcur_max_dll;
    # define MB_CUR_MAX (*_imp____mb_cur_max_dll)
    # endif
    #endif
    #endif

    /*
    * MS likes to declare errno in stdlib.h as well.
    */

    #ifdef _UWIN
    #undef errno
    extern int errno;
    #else
    _CRTIMP int* __cdecl _errno(void);
    #define errno (*_errno())
    #endif
    _CRTIMP int* __cdecl __doserrno(void);
    #define _doserrno (*__doserrno())

    #if !defined (__STRICT_ANSI__)
    /*
    * Use environ from the DLL, not as a global.
    */

    #ifdef __MSVCRT__
    extern _CRTIMP char *** __cdecl __p__environ(void);
    extern _CRTIMP wchar_t *** __cdecl __p__wenviron(void);
    # define _environ (*__p__environ())
    # define _wenviron (*__p__wenviron())
    #else
    # ifndef __DECLSPEC_SUPPORTED
    extern char *** _imp___environ_dll;
    # define _environ (*_imp___environ_dll)
    # else
    __MINGW_IMPORT char ** _environ_dll;
    # define _environ _environ_dll
    # endif
    #endif

    #define environ _environ

    #ifdef __MSVCRT__


    #ifndef __DECLSPEC_SUPPORTED
    extern int* _imp___sys_nerr;
    # define sys_nerr (*_imp___sys_nerr)
    #else
    __MINGW_IMPORT int _sys_nerr;
    # ifndef _UWIN
    # define sys_nerr _sys_nerr
    # endif
    #endif

    #else



    #ifndef __DECLSPEC_SUPPORTED
    extern int* _imp___sys_nerr_dll;
    # define sys_nerr (*_imp___sys_nerr_dll)
    #else
    __MINGW_IMPORT int _sys_nerr_dll;
    # define sys_nerr _sys_nerr_dll
    #endif

    #endif

    #ifndef __DECLSPEC_SUPPORTED
    extern char*** _imp__sys_errlist;
    #define sys_errlist (*_imp___sys_errlist)
    #else
    __MINGW_IMPORT char* _sys_errlist[];
    #ifndef _UWIN
    #define sys_errlist _sys_errlist
    #endif
    #endif

    /*
    * OS version and such constants.
    */

    #ifdef __MSVCRT__


    extern _CRTIMP unsigned __cdecl int* __p__osver(void);
    extern _CRTIMP unsigned __cdecl int* __p__winver(void);
    extern _CRTIMP unsigned __cdecl int* __p__winmajor(void);
    extern _CRTIMP unsigned __cdecl int* __p__winminor(void);

    #ifndef __DECLSPEC_SUPPORTED
    # define _osver (*__p__osver())
    # define _winver (*__p__winver())
    # define _winmajor (*__p__winmajor())
    # define _winminor (*__p__winminor())
    #else
    __MINGW_IMPORT unsigned int _osver;
    __MINGW_IMPORT unsigned int _winver;
    __MINGW_IMPORT unsigned int _winmajor;
    __MINGW_IMPORT unsigned int _winminor;
    #endif

    #else


    #ifndef __DECLSPEC_SUPPORTED

    extern unsigned int* _imp___osver_dll;
    extern unsigned int* _imp___winver_dll;
    extern unsigned int* _imp___winmajor_dll;
    extern unsigned int* _imp___winminor_dll;

    #define _osver (*_imp___osver_dll)
    #define _winver (*_imp___winver_dll)
    #define _winmajor (*_imp___winmajor_dll)
    #define _winminor (*_imp___winminor_dll)

    #else

    __MINGW_IMPORT unsigned int _osver_dll;
    __MINGW_IMPORT unsigned int _winver_dll;
    __MINGW_IMPORT unsigned int _winmajor_dll;
    __MINGW_IMPORT unsigned int _winminor_dll;

    #define _osver _osver_dll
    #define _winver _winver_dll
    #define _winmajor _winmajor_dll
    #define _winminor _winminor_dll

    #endif

    #endif

    #if defined __MSVCRT__
    /* although the _pgmptr is exported as DATA,
    * be safe and use the access function __p__pgmptr() to get it. */
    _CRTIMP char** __cdecl __p__pgmptr(void);
    #define _pgmptr (*__p__pgmptr())
    _CRTIMP wchar_t** __cdecl __p__wpgmptr(void);
    #define _wpgmptr (*__p__wpgmptr())
    #else
    # ifndef __DECLSPEC_SUPPORTED
    extern char** __imp__pgmptr_dll;
    # define _pgmptr (*_imp___pgmptr_dll)
    # else
    __MINGW_IMPORT char* _pgmptr_dll;
    # define _pgmptr _pgmptr_dll
    # endif

    #endif

    /*
    * This variable determines the default file mode.
    * TODO: Which flags work?
    */
    #if !defined (__DECLSPEC_SUPPORTED) || defined (__IN_MINGW_RUNTIME)

    #ifdef __MSVCRT__
    extern int* _imp___fmode;
    #define _fmode (*_imp___fmode)
    #else

    extern int* _imp___fmode_dll;
    #define _fmode (*_imp___fmode_dll)
    #endif

    #else

    #ifdef __MSVCRT__
    __MINGW_IMPORT int _fmode;
    #else
    __MINGW_IMPORT int _fmode_dll;
    #define _fmode _fmode_dll
    #endif

    #endif

    #endif

    _CRTIMP double __cdecl atof (const char*);
    _CRTIMP int __cdecl atoi (const char*);
    _CRTIMP long __cdecl atol (const char*);
    #if !defined (__STRICT_ANSI__)
    _CRTIMP int __cdecl _wtoi (const wchar_t *);
    _CRTIMP long __cdecl _wtol (const wchar_t *);
    #endif
    _CRTIMP double __cdecl strtod (const char*, char**);
    #if !defined __NO_ISOCEXT
    __CRT_INLINE float __cdecl strtof (const char *nptr, char **endptr)
    { return (strtod (nptr, endptr));}
    long double __cdecl strtold (const char * __restrict__, char ** __restrict__);
    #endif

    _CRTIMP long __cdecl strtol (const char*, char**, int);
    _CRTIMP unsigned long __cdecl strtoul (const char*, char**, int);

    #ifndef _WSTDLIB_DEFINED

    _CRTIMP double __cdecl wcstod (const wchar_t*, wchar_t**);
    #if !defined __NO_ISOCEXT
    __CRT_INLINE float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr)
    { return (wcstod(nptr, endptr)); }
    long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
    #endif

    _CRTIMP long __cdecl wcstol (const wchar_t*, wchar_t**, int);
    _CRTIMP unsigned long __cdecl wcstoul (const wchar_t*, wchar_t**, int);
    #define _WSTDLIB_DEFINED
    #endif

    _CRTIMP size_t __cdecl wcstombs (char*, const wchar_t*, size_t);
    _CRTIMP int __cdecl wctomb (char*, wchar_t);

    _CRTIMP int __cdecl mblen (const char*, size_t);
    _CRTIMP size_t __cdecl mbstowcs (wchar_t*, const char*, size_t);
    _CRTIMP int __cdecl mbtowc (wchar_t*, const char*, size_t);

    _CRTIMP int __cdecl rand (void);
    _CRTIMP void __cdecl srand (unsigned int);

    _CRTIMP void* __cdecl calloc (size_t, size_t) __MINGW_ATTRIB_MALLOC;
    _CRTIMP void* __cdecl malloc (size_t) __MINGW_ATTRIB_MALLOC;
    _CRTIMP void* __cdecl realloc (void*, size_t);
    _CRTIMP void __cdecl free (void*);

    _CRTIMP void __cdecl abort (void) __MINGW_ATTRIB_NORETURN;
    _CRTIMP void __cdecl exit (int) __MINGW_ATTRIB_NORETURN;


    int __cdecl atexit (void (*)(void));

    _CRTIMP int __cdecl system (const char*);
    _CRTIMP char* __cdecl getenv (const char*);


    _CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t,
    int (*)(const void*, const void*));
    _CRTIMP void __cdecl qsort (void*, size_t, size_t,
    int (*)(const void*, const void*));

    _CRTIMP int __cdecl abs (int) __MINGW_ATTRIB_CONST;
    _CRTIMP long __cdecl labs (long) __MINGW_ATTRIB_CONST;

    /*
    * div_t and ldiv_t are structures used to return the results of div and
    * ldiv.
    *
    * NOTE: div and ldiv appear not to work correctly unless
    * -fno-pcc-struct-return is specified. This is included in the
    * mingw32 specs file.
    */
    typedef struct { int quot, rem; } div_t;
    typedef struct { long quot, rem; } ldiv_t;

    _CRTIMP div_t __cdecl div (int, int) __MINGW_ATTRIB_CONST;
    _CRTIMP ldiv_t __cdecl ldiv (long, long) __MINGW_ATTRIB_CONST;

    #if !defined (__STRICT_ANSI__)

    /*
    * NOTE: Officially the three following functions are obsolete. The Win32 API
    * functions SetErrorMode, Beep and Sleep are their replacements.
    */
    _CRTIMP void __cdecl _beep (unsigned int, unsigned int);
    _CRTIMP void __cdecl _seterrormode (int);
    _CRTIMP void __cdecl _sleep (unsigned long);

    _CRTIMP void __cdecl _exit (int) __MINGW_ATTRIB_NORETURN;



    typedef int (* _onexit_t)(void);
    _onexit_t __cdecl _onexit( _onexit_t );

    _CRTIMP int __cdecl _putenv (const char*);
    _CRTIMP void __cdecl _searchenv (const char*, const char*, char*);


    _CRTIMP char* __cdecl _ecvt (double, int, int*, int*);
    _CRTIMP char* __cdecl _fcvt (double, int, int*, int*);
    _CRTIMP char* __cdecl _gcvt (double, int, char*);

    _CRTIMP void __cdecl _makepath (char*, const char*, const char*, const char*, const char*);
    _CRTIMP void __cdecl _splitpath (const char*, char*, char*, char*, char*);
    _CRTIMP char* __cdecl _fullpath (char*, const char*, size_t);

    _CRTIMP char* __cdecl _itoa (int, char*, int);
    _CRTIMP char* __cdecl _ltoa (long, char*, int);
    _CRTIMP char* __cdecl _ultoa(unsigned long, char*, int);
    _CRTIMP wchar_t* __cdecl _itow (int, wchar_t*, int);
    _CRTIMP wchar_t* __cdecl _ltow (long, wchar_t*, int);
    _CRTIMP wchar_t* __cdecl _ultow (unsigned long, wchar_t*, int);

    #ifdef __MSVCRT__
    _CRTIMP __int64 __cdecl _atoi64(const char *);
    _CRTIMP char* __cdecl _i64toa(__int64, char *, int);
    _CRTIMP char* __cdecl _ui64toa(unsigned __int64, char *, int);
    _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *);
    _CRTIMP wchar_t* __cdecl _i64tow(__int64, wchar_t *, int);
    _CRTIMP wchar_t* __cdecl _ui64tow(unsigned __int64, wchar_t *, int);

    _CRTIMP wchar_t* __cdecl _wgetenv(const wchar_t*);
    _CRTIMP int __cdecl _wputenv(const wchar_t*);
    _CRTIMP void __cdecl _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*);
    _CRTIMP void __cdecl _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*);
    _CRTIMP void __cdecl _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);
    _CRTIMP wchar_t* __cdecl _wfullpath (wchar_t*, const wchar_t*, size_t);

    _CRTIMP unsigned int __cdecl _rotl(unsigned int, int) __MINGW_ATTRIB_CONST;
    _CRTIMP unsigned int __cdecl _rotr(unsigned int, int) __MINGW_ATTRIB_CONST;
    _CRTIMP unsigned long __cdecl _lrotl(unsigned long, int) __MINGW_ATTRIB_CONST;
    _CRTIMP unsigned long __cdecl _lrotr(unsigned long, int) __MINGW_ATTRIB_CONST;
    #endif

    #ifndef _NO_OLDNAMES

    _CRTIMP int __cdecl putenv (const char*);
    _CRTIMP void __cdecl searchenv (const char*, const char*, char*);

    _CRTIMP char* __cdecl itoa (int, char*, int);
    _CRTIMP char* __cdecl ltoa (long, char*, int);

    #ifndef _UWIN
    _CRTIMP char* __cdecl ecvt (double, int, int*, int*);
    _CRTIMP char* __cdecl fcvt (double, int, int*, int*);
    _CRTIMP char* __cdecl gcvt (double, int, char*);
    #endif
    #endif

    #endif



    #if !defined __NO_ISOCEXT


    void __cdecl _Exit(int) __MINGW_ATTRIB_NORETURN;
    #ifndef __STRICT_ANSI__
    __CRT_INLINE void __cdecl _Exit(int status)
    { _exit(status); }
    #endif

    typedef struct { long long quot, rem; } lldiv_t;

    lldiv_t __cdecl lldiv (long long, long long) __MINGW_ATTRIB_CONST;

    __CRT_INLINE long long __cdecl llabs(long long _j)
    {return (_j >= 0 ? _j : -_j);}

    long long __cdecl strtoll (const char* __restrict__, char** __restrict, int);
    unsigned long long __cdecl strtoull (const char* __restrict__, char** __restrict__, int);

    #if defined (__MSVCRT__)
    long long __cdecl atoll (const char *);

    #if !defined (__STRICT_ANSI__)
    long long __cdecl wtoll (const wchar_t *);
    char* __cdecl lltoa (long long, char *, int);
    char* __cdecl ulltoa (unsigned long long , char *, int);
    wchar_t* __cdecl lltow (long long, wchar_t *, int);
    wchar_t* __cdecl ulltow (unsigned long long, wchar_t *, int);


    __CRT_INLINE long long __cdecl atoll (const char * _c)
    { return _atoi64 (_c); }
    __CRT_INLINE char* __cdecl lltoa (long long _n, char * _c, int _i)
    { return _i64toa (_n, _c, _i); }
    __CRT_INLINE char* __cdecl ulltoa (unsigned long long _n, char * _c, int _i)
    { return _ui64toa (_n, _c, _i); }
    __CRT_INLINE long long __cdecl wtoll (const wchar_t * _w)
    { return _wtoi64 (_w); }
    __CRT_INLINE wchar_t* __cdecl lltow (long long _n, wchar_t * _w, int _i)
    { return _i64tow (_n, _w, _i); }
    __CRT_INLINE wchar_t* __cdecl ulltow (unsigned long long _n, wchar_t * _w, int _i)
    { return _ui64tow (_n, _w, _i); }
    #endif

    #endif

    #endif


    #ifdef __cplusplus
    }
    #endif

    #endif

    #endif

    Das ist mir zu hoch Zur Info ich nutze als IDE Dev-C++

  15. #15
    skunde Regelmäßiger Besucher
    Registriert seit
    24.07.2011
    Ort
    Kiel
    Beiträge
    156
    Danksagungen
    4

    Standard

    kleiner tip: hol dir visual studio und wenn nur express.
    als informatik student hast du recht auf MSDN und da kannst du auch VS ultimate/pro laden
    dafür musst du dich an deinem lehrplatz informieren, ich kannte jemanden der techniker gemacht hat und hatte auch recht darauf


    EDIT (autom. Beitragszusammenführung):


    was da passiert ist versteh ich auch nicht

    <stdlib.h> war für system befehle oder?
    steck mal die <stdio.h> rein
    Geändert von skunde (26.01.2012 um 17:32 Uhr) Grund: Antwort auf eigenen Beitrag innerhalb von 24 Stunden!

  16. #16
    Avatar von pixelflat
    pixelflat Super-Moderator und Deus ex machina
    Registriert seit
    06.03.2007
    Ort
    Ingolstadt
    Beiträge
    10.834
    Danksagungen
    1.058

    Standard

    Das kann gar nicht funktionieren, weil system() nur einen Parameter hat.

    Für die Schreibweise müsstet du schon sprintf() verwenden.

  17. #17
    powerlocke Regelmäßiger Besucher
    Registriert seit
    12.01.2010
    Beiträge
    194
    Danksagungen
    9

    Standard

    Ich schätze pixelflat hat recht habe jetzt noch mal die <stdio.h> eingefügt, passiert aber genau das selbe beim kompilieren. Leider bin ich kein informatik student sondern "nur" Azubi Und selbst die Expressversion bringt mir nicht viel da ich normaler weise mit Linux arbeite also Ubuntu.

Um auf dieses Thema zu ANTWORTEN bitte sich zuerst » hier kostenlos registrieren!!
Neue Frage stellen?
Kurze Zusammenfassung der Frage: