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

CodeBlocks/C++/Terminal

VPS Starter Arubacloud
0 głosów
345 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,100 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,100 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ź 241 wizyt
pytanie zadane 22 listopada 2021 w Inne języki przez maxkolanko1998 Gaduła (3,210 p.)
0 głosów
1 odpowiedź 139 wizyt
pytanie zadane 13 października 2021 w Systemy operacyjne, programy przez poszukiwaczpomocy Nowicjusz (170 p.)
0 głosów
1 odpowiedź 372 wizyt
pytanie zadane 20 kwietnia 2021 w Systemy operacyjne, programy przez Czang Kai Shrek Obywatel (1,990 p.)

92,452 zapytań

141,262 odpowiedzi

319,077 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...