• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmiana pliku ".cpp" na ".exe" lub ".bat"

Object Storage Arubacloud
0 głosów
4,259 wizyt
pytanie zadane 31 grudnia 2017 w C i C++ przez ciamciam Początkujący (350 p.)
Chodzi o to że w Code::Blocks po napisaniu programu w c++ trzeba kliknąć F9 aby otworzyć ten program w konsoli, i postanowiłem zmienić plik z ".cpp" na ".bat". Po kliknięciu w ikonke z napisem "przykład.bat" okno konsoli włącza się na 0,1 s i znika. Czytałem że trzeba na końcu dać "system("pause");" ale to nic nie pomaga. Proszę o pomoc
1
komentarz 31 grudnia 2017 przez jpacanowski VIP (101,940 p.)
Wróć do podstaw i poczytaj o kompilatorze...
komentarz 31 grudnia 2017 przez Patryk Kaczmarek Użytkownik (630 p.)
zmiana rozszerzenia pliku nie sprawi, że stanie się on plikiem wykonywalnym. Dla cpp trzeba go najpierw skompilować.
komentarz 31 grudnia 2017 przez maciek061 Gaduła (4,490 p.)
Możesz też (po skompilowaniu) wejść w folder z projektem > bin > Debug > tu powinien być plik.exe

2 odpowiedzi

+4 głosów
odpowiedź 31 grudnia 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)
wybrane 31 grudnia 2017 przez ciamciam
 
Najlepsza

Nie rozumiem kompletnie twojego pytania.

Zmieniłeś rozszerzenie pliku z kodem C++ z .cpp na .bat i próbowałeś ten kod uruchomić? Jeśli tak to zasmucę Cię - takie coś nie ma prawa działać, ponieważ powłoka systemu Windows/DOS nie rozumie składni języka C++. Batch i C++ to nie jest ten sam język.

Jeżeli chcesz uruchamiać program konsolowy napisany przez Ciebie w języku C++ nie z poziomu IDE (w Twoim wypadku Code::Blocks), to poszukaj wygenerowanego przez kompilator pliku wykonywalnego (w przypadku Windowsa rozszerzenie .exe) i uruchom go na jeden z następujących sposobów:

  • Z poziomu konsoli CMD - lepsze rozwiązanie
  • Poprzez podwójne kliknięcie myszką w ikonkę programu (jeżeli znika, daj jakiś kod, który zatrzyma konsolę przed zamknięciem, na przykład std::cin.get()).
–3 głosów
odpowiedź 31 grudnia 2017 przez Marcin_N_97 Stary wyjadacz (10,290 p.)
Używaj linuxa.

 

Musisz pobrać znak to wtedy nie zniknie Ci, bo będzie czekał, aż coś napiszesz.
1
komentarz 31 grudnia 2017 przez m4sk1n Pasjonat (16,750 p.)
Linux jest rozwiązaniem prawie każdego problemu, ale tego akurat nie…
komentarz 31 grudnia 2017 przez Marcin_N_97 Stary wyjadacz (10,290 p.)
Skąd taki hejt? :o

 

Napisałem rozwiązanie. Musi w edytorze dopisać sobie pobieranie znaku, skompilować i wygenerować sobie z tego .bat. Sprawdziłem u siebie i wszystko działa, o co Wam chodzi? 0.o
komentarz 31 grudnia 2017 przez niezalogowany
Nic takiego nie napisałeś, ze zdania "Używaj linuxa." nie idzie nic więcej wydedukować, a do tego aby używać konsoli nie trzea instalować linuxa wystarczy odpalić CMD...

W dodatku autor ma problem bo próbuje uruchomić surowy kod C++ jako bat
komentarz 31 grudnia 2017 przez jpacanowski VIP (101,940 p.)
Od kiedy downvote to hejt? Nadużywacie tego słowa. Najlepiej jakby to durne słowo w ogóle zniknęło z języka polskiego. A downvote prawdopodobnie stąd, że gość zmienia rozszerzenie .cpp na .exe aby uruchomić swój program, a ty piszesz o używaniu Linuksa - czegoś tu nie rozumiem.
komentarz 31 grudnia 2017 przez Marcin_N_97 Stary wyjadacz (10,290 p.)

Źle zrozumiałem w takim razie. Myślałem, że problem polega na tym, że znika konsola. Czyli klasyczny problem kiedy ktoś nie da std::cin.get() na końcu pisząc choćby w VS. 

 

Musisz pobrać znak to wtedy nie zniknie Ci, bo będzie czekał, aż coś napiszesz.

Już rozumiem. Nie potraficie przeczytać całej wypowiedzi, tylko gdy zobaczycie "linux" to już nie czytacie dalej i odwala. Smutne. 

komentarz 31 grudnia 2017 przez jpacanowski VIP (101,940 p.)

Nie potraficie przeczytać całej wypowiedzi, tylko gdy zobaczycie "linux" to już nie czytacie dalej i odwala. Smutne.

W tym wypadku tak, bo Linux nie ma nic zupełnie wspólnego z rozwiązaniem tego problemu. Gość nie ma pojęcia co to kompilator i zmienia ręcznie rozszerzenie pliku .cpp na .exe / .bat, a ty mu każesz zmienić system. Jak już ktoś mądry wcześniej napisał -> "Linux jest rozwiązaniem prawie każdego problemu, ale tego akurat nie…"

Napisałem rozwiązanie. Musi w edytorze dopisać sobie pobieranie znaku, skompilować i wygenerować sobie z tego .bat.

Gość pisze przecież w swoim poście, że doczytał żeby dodać system("pause"), ale że mu to nie działa. A nie działa bo od tak sobie zmienił ręcznie rozszerzenie pliku!

I nie chodzi mu o samo to żeby przekonwertować program do pliku .bat On po prostu nie wie nic o kompilatorze.

Co do downvote, ja go nie dałem.

komentarz 31 grudnia 2017 przez Marcin_N_97 Stary wyjadacz (10,290 p.)
Mimo, ze podkreślam. Nie zrozumiałem go, myslałem, że nie dał na końcu zatrzymania konsoli. system("pause") nie zawsze zadziała, mógł nie dać poprawnej biblioteki, nie powinno się stosować:

https://stackoverflow.com/questions/1107705/systempause-why-is-it-wrong

Linux ma z tym to wspólne, że w momencie kiedy go stosujesz nie robisz sobie pliku wynikowego .bat i nie da się dojść do czegoś takiego. Nawet nie mając wiedzy o kompilatorz nie da się w linuxie zmienić rozszerzenia by wywoływało się to, ponieważ gnu/linux tak nie działa.

 

A o downvote nie mam problemu. Tutaj chodzi o problem ludzi, którzy zamiast podejść do tego, że nie zrozumiałem i napisać mi to - burzą się, bo napisałem o linuchu, który co prawda jest dużo bardziej przeznaczony (rekomendowany, nie łapać za słówka...) do pisania w cpp niż win.
komentarz 31 grudnia 2017 przez jpacanowski VIP (101,940 p.)
edycja 31 grudnia 2017 przez jpacanowski

Linux ma z tym to wspólne, że w momencie kiedy go stosujesz nie robisz sobie pliku wynikowego .bat i nie da się dojść do czegoś takiego.

burzą się, bo napisałem o linuchu

Problem w tym, że gość w edytorze napisał kod i potem zmienił ręcznie rozszerzenie z .cpp na .exe i Linux nic w tym nie pomoże, bo czy się nadaje bardziej "do pisania w cpp niż win" czy nie, to on napisał kod w edytorze i zmienił ręcznie rozszerzenie !!!...

Na twoje szczęście spasuję teraz, więc nie ma potrzeby żebyś odpisywał...

Podobne pytania

0 głosów
1 odpowiedź 884 wizyt
pytanie zadane 24 kwietnia 2019 w JavaScript przez Milo Obywatel (1,180 p.)
0 głosów
1 odpowiedź 482 wizyt
pytanie zadane 19 września 2021 w C i C++ przez Jan Rubach Nowicjusz (160 p.)
–2 głosów
2 odpowiedzi 1,794 wizyt
pytanie zadane 7 września 2020 w Inne języki przez kondzix_ez Obywatel (1,910 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...