2010-07-31 35 views

Trả lời

61

Sử dụng:

#include <windows.h> 

Sleep(sometime_in_millisecs); // Note uppercase S 

Và đây là một ví dụ nhỏ mà biên dịch với MinGW và làm những gì nó nói trên tin:

#include <windows.h> 
#include <stdio.h> 

int main() { 
    printf("starting to sleep...\n"); 
    Sleep(3000); // Sleep three seconds 
    printf("sleep ended\n"); 
} 
+4

Quá xấu người trả lời là vô danh, hoặc anh ta sẽ giành được một số đại diện tốt ... –

+8

"đã xem 42374 lần" - vì vậy rõ ràng nhiều người ngoài đó cũng có câu hỏi này (và làm cách nào tôi biết để tiền tố "msdn" cho google của tôi tìm kiếm khi tôi chủ yếu thực hiện một số lập trình Linux/POSIX?) – mozzbozz

1

MSDN: Tiêu đề: Winbase.h (bao gồm windows.h)

+1

Khi tôi bao gồm các cửa sổ. h trình biên dịch của tôi cho "lỗi: tham số tên bỏ qua" và "lỗi: biểu thức dự kiến ​​trước ',' mã thông báo ' – RYN

+0

@Snigger Đăng một ví dụ ngắn thể hiện điều này, và cho chúng tôi biết bạn đang sử dụng trình biên dịch nào. –

+0

#include void writeData (kết quả * res, char * OUT) { } int main() { \t return 1; \t } cho "lỗi: dự kiến ​​')' trước '*' mã thông báo" và tôi đang sử dụng GCC (mingw) – RYN

6

SleepEx chức năng (xem http://msdn.microsoft.com/en-us/library/ms686307.aspx) là lựa chọn tốt nhất nếu chương trình của bạn trực tiếp hoặc gián tiếp tạo windo ws (ví dụ sử dụng một số đối tượng COM). Trong các trường hợp mẫu, bạn cũng có thể sử dụng Sleep.

6

Bao gồm các chức năng sau đây vào lúc bắt đầu của mã của bạn, bất cứ khi nào bạn muốn cưỡng chế thi hành để tạm dừng mà không đặt thêm gánh nặng cho CPU (trong trường hợp của một vòng lặp for)

void sleep(unsigned int mseconds) 
{ 
    clock_t goal = mseconds + clock(); 
    while (goal > clock()) 
     ; 
} 
+10

1. Điều này không trả lời các câu hỏi của poster 2. Điều này chỉ là sai vì nó vẫn là một vòng lặp bận (có hoặc không có vòng lặp for). –

+0

bỏ phiếu. Tôi đã tìm kiếm một số chức năng ngủ trong windows C, ngoại trừ Sleep(). Điều này làm việc tốt. cảm ơn. – rashok

+6

Đây không phải là giấc ngủ, đây là "bận rộn trong một vòng lặp chặt chẽ", và đặt thêm gánh nặng trên CPU anyway. Giấc ngủ giải phóng CPU để làm những việc khác. – Bacco

Các vấn đề liên quan