CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Aplikacja konsolowa i okienkowa

Aplikacja konsolowa i okienkowa

dział ogólny

Aplikacja konsolowa i okienkowa

Nowy postprzez janek2012 » wtorek, 20 lipca 2010, 02:07

Witam,

Tworzę pewną aplikację, która posiada GUI (Formularze), jednak chciałbym, alby przy wywołaniu jej przez parametr "/NOGUI" uruchamiała się w trybie konsolowym.

No więc mam takie coś:
KOD cpp:     UKRYJ  
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
    try
    {

        if (FindCmdLineSwitch("NOGUI"true))
        {
        printf("lol");
        }
        else
        {
        Application->MainFormOnTaskBar = true;
        Application->Title = "Projekt";
        Application->CreateForm(__classid(TForm5)&Form5);
        Application->CreateForm(__classid(TForm6)&Form6);
        Application->Run();
        }
    }
    catch (Exception &exception)
    {
        Application->ShowException(&exception);
    }
    catch (...)
    {
        try
        {
            throw Exception("");
        }
        catch (Exception &exception)
        {
            Application->ShowException(&exception);
        }
    }
    return 0; 


Jednakże aplikacja nie wypisuje do linii poleceń "lol".

Rozumiem, że stawiam ten warunek w złym miejscu lub printf nie działa w ten sposób...
Proszę o radę.

EDIT:

Podając komendę system("echo lol") pojawia mi się nowe okienko konsoli, więc jakiś postep jest :P
Avatar użytkownika
janek2012
Bladawiec
Bladawiec
 
Posty: 30
Dołączył(a): poniedziałek, 12 lipca 2010, 22:56
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: Windows 8 x64
Kompilator: C++ Builder XEe
SKYPE: janek2012
Gadu Gadu: 1489603
    Windows 7Opera

Re: Aplikacja konsolowa i formowa

Nowy postprzez Cyfrowy Baron » wtorek, 20 lipca 2010, 09:25

Funkcja printf nie zostanie wykonana, no bo niby jak i przez co. Przecież system nie rozpoznaje polecenia printf i nie jest to również wewnętrzne polecenie konsoli cmd. Aplikacja nie uruchomi się w trybie konsolowym gdyż nie jest to aplikacja konsolowa.

Podając komendę system("echo lol") pojawia mi się nowe okienko konsoli, więc jakiś postęp jest :P


Uruchamiasz po prostu program cmd.exe znajdujący się w katalogu systemowym. Ten program uruchamia się w trybie konsolowym. Uruchamiany jest program CDM, czyli wiersz poleceń systemu Windows a nie Twoja aplikacja:


int system(const char *s);
If s is not a null pointer, the function passes the string s to be executed by a command processor, supplied by the target environment, and returns the status reported by the command processor. If s is a null pointer, the function returns nonzero only if the target environment supplies a command processor. Each implementation defines what strings its command processor accepts.



Pytanie więc co tak naprawdę chcesz zrobić?

  1. Czy chcesz by po odebraniu parametru NOGUI program się nie uruchamiał, a zamiast tego, żeby uruchamiała się konsola CMD, bo tak wynika z Twojego kodu?
  2. Czy chcesz uruchomić aplikację VCL w trybie konsolowym, jeżeli tak, to jest to niemożliwe.

Jeżeli chodzi o przypadek pierwszy to musisz uruchomić konsolę, a więc powinieneś wydać polecenie uruchomienia programu CMD, z tego co się jednak orientuję, ale może się mylę, to konsola nie pobiera dowolnych argumentów z linii komend, więc tekstu nie wyświetli. Możesz oczywiście przesłać do konsoli parametr, ale tylko taki, który ona rozpozna, np:

KOD cpp:     UKRYJ  
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
        try
        {
         if(FindCmdLineSwitch("NOGUI", true))
         {
         // ShellExecute(NULL, "open", "cmd", "", "", SW_SHOW); // uruchamia konsolę
          system("dir"); // uruchamia program CMD.exe i wykonuje polecenie dir
         }
         else
                Application->Initialize();
                Application->MainFormOnTaskBar = true;
                Application->CreateForm(__classid(TForm1), &Form1);
                Application->Run();
        }
        catch (Exception &exception)
        {
                Application->ShowException(&exception);
        }
        catch (...)
        {
                try
                {
                        throw Exception("");
                }
                catch (Exception &exception)
                {
                        Application->ShowException(&exception);
                }
        }
        return 0;
}

Jeżeli zaś chodzi o drugi przypadek, to niestety tej samej aplikacji nie możesz uruchamiać zarówno w trybie okienkowym jak i konsolowym, a przynajmniej ja nie słyszałem o takiej możliwości. Możesz jednak stworzyć dwie aplikacje jedną okienkową. drugą konsolową. Po odebraniu parametru aplikacja okienkowa uruchomi aplikację konsolową, a jeżeli aplikacja konsolowa będzie miała obsługę parametrów z linii komend to będziesz mógł uruchamiać tą aplikację i przekazywać jej parametry np. wyświetlanie tekstu, ale to już zależy od tego jaką obsługę parametrów zaimplementujesz w tej aplikacji.



Do kolorowanie kodu można używać BBCode [ CPP ], jest na to przycisk obok przycisku [ Kolor tekstu ]. Więcej o kolorowaniu składni kodu w dziale Portal.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez polymorphism » wtorek, 20 lipca 2010, 10:48

Funkcja printf nie zostanie wykonana, no bo niby jak i przez co. Przecież system nie rozpoznaje polecenia printf (...)

System tej funkcji nie musi rozpoznawać, bo to jest funkcja z biblioteki C, na użytek wewnętrzny programu. Oczywiście funkcja zostanie wykonana, tyle że zawartość nie trafi z oczywistych względów na konsole, tylko do strumienia, który jest domyślnie przypisany podczas uruchamiania aplikacji (po szczegóły odsyłam tu -> http://programowanie.cal.pl/forum/viewtopic.php?p=6436#p6436).

Co trzeba zrobić:
  1. stworzyć konsole funkcją AllocConsole.
  2. przypisać standardowej bibliotece nowe strumienie.

KOD cpp:     UKRYJ  
AllocConsole();


/* wejście */
int hCrt = _open_osfhandle((long) GetStdHandle(STD_INPUT_HANDLE), _O_TEXT);
if(hCrt != -1)
{
        *stdin = *_fdopen( hCrt, "r" );
        setvbuf( stdin, NULL, _IONBF, 0 );
}

/* wyjście */
hCrt = _open_osfhandle((long) GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
if(hCrt != -1)
{
        *stdout = *_fdopen( hCrt, "w" );
        setvbuf( stdout, NULL, _IONBF, 0 );
}
 
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez Cyfrowy Baron » wtorek, 20 lipca 2010, 12:20

U mnie w C++ Builder 2010 to nie działa, dlatego podaje alternatywne rozwiązanie. Nie jest może najlepsze, ale póki co niczego nowego nie wymyśliłem.

KOD cpp:     UKRYJ  

#include <vcl.h>
#pragma hdrstop
#include <tchar.h>
#include <stdio.h>
#include <ostream>

#include <io.h>
#include <fcntl.h>
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
        try
        {
         bool hide = false;
         if(FindCmdLineSwitch("NOGUI", true))
         {
          AllocConsole();

          wchar_t s[] = L"Hello\n";
          HANDLE hWnd = GetStdHandle(STD_OUTPUT_HANDLE);
          unsigned long cChars;

          WriteConsole(hWnd, s, lstrlen(s), &cChars, NULL);
          hide = true;
         }

                Application->Initialize();
                if(!hide)
                {
                 Application->MainFormOnTaskBar = true;
                 Application->CreateForm(__classid(TForm1), &Form1);
                }
                else
                {
                 Application->MainFormOnTaskBar = false;
                 Application->CreateForm(__classid(TForm1), &Form1);
                 Application->ShowMainForm = false;
                }

                Application->Run();


        }
        catch (Exception &exception)
        {
                Application->ShowException(&exception);
        }
        catch (...)
        {
                try
                {
                        throw Exception("");
                }
                catch (Exception &exception)
                {
                        Application->ShowException(&exception);
                }
        }
        return 0;
}
//---------------------------------------------------------------------------
 


Mój kod w odróżnieniu od tego zaprezentowanego przez polymorphism nie pozwala na używanie strumieni bibliotek C i C++, a jedynie wyświetla tekst.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez Cyfrowy Baron » wtorek, 20 lipca 2010, 13:32

Kod podany przez polymorphism poniekąd działa, ale nie do końca poprawnie. Wejście jest najwyraźniej zbędne i z wejściem mi nie zadziałał. Zadziałał dopiero gdy umieściłem go w pętli:

KOD cpp:     UKRYJ  
void __fastcall TForm1::Button3Click(TObject *Sender)
{
 AllocConsole();
 FILE *hf;

 while(1)
 {
  int hCrt2 = _open_osfhandle(intptr_t(GetStdHandle(STD_OUTPUT_HANDLE)), _O_TEXT);
  if(hCrt2 != -1)
  {
        hf = _fdopen( hCrt2, "w" );
        *stdout = *hf;
        setvbuf(stdout, NULL, _IONBF, 0);
  }

  ios::sync_with_stdio(true);
  printf("Hello");
 }
}
 


Czyli na Twoje potrzeby wygląda to tak:

KOD cpp:     UKRYJ  
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <tchar.h>
#include <stdio.h>
#include <ostream>

#include <io.h>
#include <fcntl.h>
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
        try
        {

         if(FindCmdLineSwitch("NOGUI", true))
         {
           AllocConsole();
           FILE *hf;

           while(1)
          {
           int hCrt2 = _open_osfhandle(intptr_t(GetStdHandle(STD_OUTPUT_HANDLE)), _O_TEXT);
           if(hCrt2 != -1)
           {
            hf = _fdopen( hCrt2, "w" );
            *stdout = *hf;
            setvbuf(stdout, NULL, _IONBF, 0);
           }

           ios::sync_with_stdio(true);
           printf("Hello");
          }
         }
                Application->Initialize();
                Application->MainFormOnTaskBar = true;
                Application->CreateForm(__classid(TForm1), &Form1);
                Application->Run();
        }
        catch (Exception &exception)
        {
                Application->ShowException(&exception);
        }
        catch (...)
        {
                try
                {
                        throw Exception("");
                }
                catch (Exception &exception)
                {
                        Application->ShowException(&exception);
                }
        }
        return 0;
}
//---------------------------------------------------------------------------
 
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez polymorphism » wtorek, 20 lipca 2010, 14:11

Nie rozumiem, po co ta pętla?
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez Cyfrowy Baron » wtorek, 20 lipca 2010, 14:23

Ja też nie rozumiem, ale bawiąc się Twoim kodem klikałem na przycisk wywołujący Twoje funkcje i po 10 kliknięciach za pierwszym razem i 12 za drugim, funkcja zadziałała wiec pomyślałem, że wrzucę Twój kod w pętlę i zobaczę co się stanie. tak zrobiłem, kod zadziałał od razu. Być może istnieje inne rozwiązanie, ale na razie wymyśliłem tylko pętlę.

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
borysewicz
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez polymorphism » wtorek, 20 lipca 2010, 14:39

Nie no, tak to nie może być. Kombinowałbym raczej z parametrami setvbuf, może tu coś jest nie tak. Teraz strumień ustawiony jest na tryb niebuforowania.

Próbowałeś flushować strumień po printfie?
KOD cpp:     UKRYJ  
fflush (stdout);

Wprawdzie strumień nie jest buforowany, ale kto wie, może jednak jest...

swoją drogą, sync_with_stdio synchronizuje standardowe strumienie C ze strumieniami C++. W kodzie, który podałeś, nie ma to zastosowania.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez janek2012 » wtorek, 20 lipca 2010, 15:41

Avatar użytkownika
janek2012
Bladawiec
Bladawiec
 
Posty: 30
Dołączył(a): poniedziałek, 12 lipca 2010, 22:56
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: Windows 8 x64
Kompilator: C++ Builder XEe
SKYPE: janek2012
Gadu Gadu: 1489603
    Windows 7Opera

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez Cyfrowy Baron » wtorek, 20 lipca 2010, 15:53

Próbowałeś flushować strumień po printfie?


Próbowałem. Niczego to nie zmienia.



Ja może dorzuce linki, które znalazłem szukając rozwiązania:


Nie ma tam nic co pomogłoby rozwiązać problem.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez janek2012 » wtorek, 20 lipca 2010, 15:58

Cyfrowy Baron napisał(a):Nie ma tam nic co pomogłoby rozwiązać problem.


Wiem, ale może da radę to jakoś nakierować :)


swoją drogą, twoje poleceni działają, ale tylko gdy uruchamiam aplikację normalnie (wyświetla się Hello), ale gdy uruchomię poprzez konsolę, nie dzieje się nic.

Edit:
http://stackoverflow.com/questions/1467 ... -to-stdout - tutaj są ciekawe rzeczy :)

EDIT2:

KOD cpp:     UKRYJ  
                Application->Initialize();
                 if(!FindCmdLineSwitch("NOGUI", true))
                 {
                        AllocConsole();
                        printf(":)");
                        getchar();
                        FreeConsole();
                 Application->MainFormOnTaskBar = false;
                //Application->Title = "The Ultimate PID Checker";
                //Application->CreateForm(__classid(TForm5), &Form5);
                //Application->CreateForm(__classid(TForm6), &Form6);
                Application->ShowMainForm = false;;
                Application->Run();


To wydaje się działać, hoć nadal otwiera nowe okno :)
Avatar użytkownika
janek2012
Bladawiec
Bladawiec
 
Posty: 30
Dołączył(a): poniedziałek, 12 lipca 2010, 22:56
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: Windows 8 x64
Kompilator: C++ Builder XEe
SKYPE: janek2012
Gadu Gadu: 1489603
    Windows 7Opera

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez Cyfrowy Baron » wtorek, 20 lipca 2010, 17:32

ale gdy uruchomię poprzez konsolę, nie dzieje się nic.


Nie wiem który kod uruchamiasz ale u mnie to działa:

Tak działa?!
KOD cpp:     UKRYJ  
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
        try
        {

         if(FindCmdLineSwitch("NOGUI", true))
         {
           AllocConsole();
           FILE *hf;

           while(1)
          {
           int hCrt2 = _open_osfhandle(intptr_t(GetStdHandle(STD_OUTPUT_HANDLE)), _O_TEXT);
           if(hCrt2 != -1)
           {
            hf = _fdopen( hCrt2, "w" );
            *stdout = *hf;
            setvbuf(stdout, NULL, _IONBF, 0)
           }
           printf("Hello");
          }
         }
                Application->Initialize();
                Application->MainFormOnTaskBar = true;
                Application->CreateForm(__classid(TForm1), &Form1);
                Application->Run();
        }
        catch (Exception &exception)
        {
                Application->ShowException(&exception);
        }
        catch (...)
        {
                try
                {
                        throw Exception("");
                }
                catch (Exception &exception)
                {
                        Application->ShowException(&exception);
                }
        }
        return 0;
}
 


A tak z ciekawości - do czego jest Ci to potrzebne?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez polymorphism » wtorek, 20 lipca 2010, 18:01

Tu masz inną wersję ze strumieniami cin/cout:
KOD cpp:     UKRYJ  
class std_io_buff: public std::streambuf
{
private:
        char    m_gbuff[128];
        HANDLE  m_std_in;
        HANDLE  m_std_out;

protected:
        int underflow()
        {      
                DWORD chRead = 0;
 
                if(ReadConsoleA(m_std_in,m_gbuff,sizeof(m_gbuff),&chRead,NULL) == TRUE)
                {
                        setg(m_gbuff,m_gbuff,m_gbuff + chRead);
                        return sgetc();
                }

                return EOF;
        }

        int overflow (int c = EOF)
        {
                DWORD written = 0;
                BOOL bres = WriteConsoleA(m_std_out,&c,1,&written,NULL);
                setp(0,0,0);
                return bres == TRUE ? 0 : -1;
        }

public:
        std_io_buff()
        {
                setg(m_gbuff,m_gbuff,m_gbuff);
                setp(0,0,0);

                m_std_in = GetStdHandle(STD_INPUT_HANDLE);
                m_std_out = GetStdHandle(STD_OUTPUT_HANDLE);
        }
};

void create_console()
{
        static bool init = false;
        if(!init)
        {
                AllocConsole();
                static std::auto_ptr<std_io_buff> b(new std_io_buff);
                std::cin.rdbuf(b.get());
                std::cout.rdbuf(b.get());
                init = true;
        }
}

Użycie:
KOD cpp:     UKRYJ  
if(FindCmdLineSwitch("NOGUI", true))
{
        create_console();

        std::cout << "1234567890";

        std::string s;
        std::cin >> s;
        std::cout << "wprowadziles: " << s << '\n';

        (...)
 
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez janek2012 » wtorek, 20 lipca 2010, 18:13

polymorphism, dzięki, ale nie weim z jakiego powodu nie działa mi w C++ Builderze "cin" i "cout" - nie załączyłem czegoś, czy co?


PS.
Ostatni post:
http://social.msdn.microsoft.com/forums ... 16690a5d8c

Może coś takiego...
Avatar użytkownika
janek2012
Bladawiec
Bladawiec
 
Posty: 30
Dołączył(a): poniedziałek, 12 lipca 2010, 22:56
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: Windows 8 x64
Kompilator: C++ Builder XEe
SKYPE: janek2012
Gadu Gadu: 1489603
    Windows 7Opera

Re: Aplikacja konsolowa i okienkowa

Nowy postprzez polymorphism » wtorek, 20 lipca 2010, 18:15

Nie działa czyli co?

Może coś takiego...

Raczej nie. Te zapisy:
KOD cpp:     UKRYJ  
_fileno(stdout)= _fileno(fopen("CON", "w"));
_fileno(stdin) = _fileno(fopen("CON", "r"));
_fileno(stderr)= _fileno(fopen("CON", "w"));

są bez sensu.
Ostatnio edytowano wtorek, 20 lipca 2010, 18:23 przez polymorphism, łącznie edytowano 1 raz
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Następna strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 58 gości

cron