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

CodeBlocks/C++/Terminal

Object Storage Arubacloud
0 głosów
353 wizyt
pytanie zadane 22 marca 2017 w C i C++ przez Blk Nowicjusz (140 p.)
Witam. Startuję z nauką C++ i na samym początku mam problem ponieważ, gdy próbuję napisać pętlę for wszystko ładnie liczy, lecz gdy dodam do tego instrukcję sleep(1000); to w terminalu nic się nie dzieję. Zaznaczam, że pracuję na linuksie(wersja Ubuntu) w środowisku CodeBlocks i pamiętam że należy dodać bibliotekę <unistd.h>
komentarz 22 marca 2017 przez mokrowski Mędrzec (155,460 p.)
A po co dodawać unistd.h? Masz w przykładzie niżej bez takich nagłówków i w 2 przypadku przenośnie tak dla MS Windows jak i GNU/Linux.

3 odpowiedzi

+2 głosów
odpowiedź 22 marca 2017 przez draghan VIP (106,230 p.)

Nie wiem na ile ta strona jest wiarygodna, ale piszą tu że sleep z unistd jako argument przyjmuje czas w sekundach. Sądzę że czekanie 1000 sekund to nie do końca jest o co Ci chodziło.

0 głosów
odpowiedź 22 marca 2017 przez mokrowski Mędrzec (155,460 p.)
#include <iostream>
#include <chrono>
#include <thread>
#include <cstdlib>

int main() {
    std::cout << "Komunikat przed 1 zaśnięciem.." << std::endl;
    // Uśnięcie na 2 sek. "w starymi stylu" ... i bardzo nie polecanym... 
    std::system("sleep 2");
    std::cout << "Komunikat przed 2 saśnięciem..." << std::endl;
    // Uśnięcie na 2 sek. w nowych kompilatorach... i polecane!
    std::this_thread::sleep_for(std::chrono::seconds(2));
    std::cout << "Komunikat po zasypianiach" << std::endl;
}

 

komentarz 22 marca 2017 przez adrian17 Ekspert (344,860 p.)

Uśnięcie na 2 sek. "w starymi stylu"

Tak nigdy nikt nie robił; POSIX definiuje sleep()/usleep(), WinAPI ma Sleep().

komentarz 22 marca 2017 przez Blk Nowicjusz (140 p.)
Dzięki za szybkie odpowiedzi. Zaraz to przeanalizuję i poleci bez problemu :)
komentarz 22 marca 2017 przez mokrowski Mędrzec (155,460 p.)
Oj byś się zdziwił co do tego "nigdy nikt" :-/ A że to niebezpieczne i w złym guście to wiadomo choćby CERT Secure Coding Standard wyraźnie o tym mówi https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=2130132

Nie ma obecnie powodów aby wołać dla uśpienia natywne API systemu. Jest sleep_for() :-)
–2 głosów
odpowiedź 22 marca 2017 przez Evelek Nałogowiec (28,960 p.)
Sleep(1000) - z wielkiej litery napisz. A w nawiasie czas np. 1000 oznacza 1 sekundę.
komentarz 22 marca 2017 przez adrian17 Ekspert (344,860 p.)
Sleep() jest Windowsowy.
komentarz 22 marca 2017 przez Evelek Nałogowiec (28,960 p.)
A no ta, WinAPI a tu Linux potrzebny.

Podobne pytania

0 głosów
1 odpowiedź 254 wizyt
pytanie zadane 22 listopada 2021 w Inne języki przez maxkolanko1998 Gaduła (3,230 p.)
0 głosów
1 odpowiedź 147 wizyt
pytanie zadane 13 października 2021 w Systemy operacyjne, programy przez poszukiwaczpomocy Nowicjusz (170 p.)
0 głosów
1 odpowiedź 388 wizyt
pytanie zadane 20 kwietnia 2021 w Systemy operacyjne, programy przez Czang Kai Shrek Obywatel (1,990 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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!

...