0

ユーザーが入力した内容を記録するための簡単なコードスニペットを作成しました。

#include <stdio.h>
#include <unistd.h>

int main() {
  char letter;
  printf("Enter in a character:");
  scanf("%c", &letter);
  sleep(2);
  printf("Letter was: %c", letter);
  return 0;
}

このコードでは、8行目で2秒間スリープすることになっています。

残念ながら、正しいライブラリを持っていても、sleepは未定義の参照です。

Windows Vistaでこの問題を修正する方法はありますか?

4

4 に答える 4

2

プログラムが 2 秒間スリープする必要がある場合は、スリープ機能内に 2000 を入力します。

Sleep(unsigned int) :- unsigned int はミリ秒数です (1 秒 = 1000 ミリ秒)

Sleep(5000); に大文字で「s」を入力してください。

ヘッダー ファイル Windows.h をインクルードします。

于 2014-12-15T21:10:16.450 に答える
1

未定義の参照である場合は、リンカがスリープを含むライブラリをコードにリンクしていないことを意味します。

unistd.h (適切な関数プロトタイプを提供します)を含めた可能性がありますが、 sleepの実装を含むライブラリにもリンクする必要があります。

プログラムをどのようにコンパイルおよびリンクしているかを示します。

于 2012-08-03T01:52:30.547 に答える