1. c語言如何讓操作完一個函數後繼續停留在當前菜單
case 1: output(s);到這你的1次大循環應該是結束了,當然會回到開始的位置,如果你想在結束後回到2集菜單,簡單點的方法用 goto,復雜點的方法就得改整個程序了,得再加循環
2. linux下c語言讀取文件時讓其輸出一行停頓幾秒的問題
頭文件添加:
#include <unistd.h>
#include <stdlib.h>
然後,在輸出換行後面加上語句
int ret ;
ret=alarm(2) ; /*調用alarm定時器函數*/
pause() ;
這樣就能實現你要的功能了。
3. c語言的函數體用什麼開始用什麼結束
c語言的函數體用{函數體開始,用}函數結束,函數體的的前面是定義部分,後面是執行部分。
使用示例:
if (argc<3) {
printf (" Error! Not enough arguments. Correct usage is .. " ) ;
printf("c:>eopyfile <source_file> <destination_file> ") ;
exit (1) ;
}
else {
open_files () ;
while (! feof(infile)) {
read_data ( ) ;
write_data() ;
}
close files() ;
}
(3)c語言函數停頓方法擴展閱讀
C語言中的大括弧,定義和初始化結構體變數
結構體變數的定義方法的樣例如下:
typedef struct
{
……
}T_Struct;
該結構體變數的初始化樣例如下:
T_Struct tStruct = {0};
4. C語言怎樣使被調函數停止一段時間,主函數繼續
那就只有多線程了,單線程是不可能實現這種功能的。
單線程的運行就是線性的,A函數調用B函數,B函數不執行return語句,A函數不可能再繼續執行。
5. c語言如何用getline或什麼的使程序停頓一下
頭文件<conio.h>
有一個getch()的函數
這個是等待用戶輸入任意鍵,然後繼續運行之後的程序
6. C語言如何隔幾秒再顯示下一句話
首先包含這個頭文件包
#include <ctime>
定義2個時間節點。
time_t start,end;//記時標示符
如果你是知道時間的長度的那僅僅好辦了。
這樣就先給start賦值為當前系統時間,然後end加上輸出時間的長度。
在用循環
for(int i=start;i<=end;i+1)(這里可以選擇你是隔幾秒)
然後輸出。
最後給你點獲取系統時間一些函數:
vc/c++時間函數
一、MFC類
MFC提供了兩個日期和時間類CTime和CTimeSpan,分別代表相對時間和絕對時間。CTime是基於格林威治平均時間(GMT)的,本地的時間由環境變數TZ決定。CTimeSpan代表了時間間隔。
CTime類由下列成員函數:
CTime()
創建一個CTime對象。
GetCurrentTime()
由當前時間創建一個CTime對象。
GetTime()
由CTime對象返回一個time_t變數。
GetYear()
獲取CTime對象代表的年。
GetMonth()
獲取CTime對象代表的月。
GetDay() 獲取CTime對象代表的日期。
GetHour() 獲取CTime對象代表的小時。
GetMinute()獲取CTime對象代表的分。
GetSecond() 獲取CTime對象代表的秒。
GetDayOfWeek() 獲取CTime對象代表的周日,1代表周日,2代表周-等等。
Format() 將字元串轉換成一個基於本地時區的格式字元串。
FormatGmt() 將字元串轉換成一個基於UTC(世界時)的格式字元串。
operator = 賦予新的時間。
operator + 增加CTime和CTimeSpan對象。
operator – 減小CTime和CTimeSpan對象。
operator += CTime對象加一個CTimeSpan對象。
operator -= CTime對象減一個CTimeSpan對象。
operator == 比較兩個絕對時間是否相等。
operator != 比較兩個絕對時間是否不相等。
operator < 比較兩個絕對時間,是否前一個大於後一個。
operator > 比較兩個絕對時間,是否前一個小於後一個。
operator >= 比較兩個絕對時間,是否前一個大於等於後一個。
operator <= 比較兩個絕對時間,是否前一個小於等於後一個
二、總結
首先看幾個函數的原型的聲明(在time.h中):
clock_t clock( void ) clock_t是用來保存時間的數據類型,是long型
double difftime(time_t time1, time_t time0); 取時間間隔的函數
time_t time(time_t * timer); 日歷時間函數
char * asctime(const struct tm * timeptr); 將tm 類的時間結構轉化為 固定時間格式
char * ctime(const time_t *timer); 將日歷時間轉化為 固定時間格式
time_t mktime(struct tm * timeptr); 以年、月、日、時、分、秒等分量保存的時間結構
struct tm * gmtime(const time_t *timer); 將日歷時間轉化為格林尼治時間
struct tm * localtime(const time_t * timer); 將日歷時間轉化為當地時間
tm 的定義:
struct tm {
int tm_sec; /* 秒 – 取值區間為[0,59] */
int tm_min; /* 分 - 取值區間為[0,59] */
int tm_hour; /* 時 - 取值區間為[0,23] */
int tm_mday; /* 一個月中的日期 - 取值區間為[1,31] */
int tm_mon; /* 月份(從一月開始,0代表一月) - 取值區間為[0,11] */
int tm_year; /* 年份,其值等於實際年份減去1900 */
int tm_wday; /* 星期 – 取值區間為[0,6],其中0代表星期天,1代表星期一,以此類推
*/
int tm_yday; /* 從每年的1月1日開始的天數 – 取值區間為[0,365],其中0代表1月1日,
1代表1月2日,以此類推 */
int tm_isdst; /* 夏令時標識符,實行夏令時的時候,tm_isdst為正。不實行夏令時的進候
,tm_isdst為0;不了解情況時,tm_isdst()為負。*/}
1.獲取間隔時間
1. clock_t start, finish;
long i = 10000000;
double ration;
start = clock();
while( i-- ) ;
finish = clock();
ration = (double)(finish - start) / CLOCKS_PER_SEC;
cout<<ration;
輸出的是: i從10000000減到零用的時間,精確到毫秒
2.
double pause1;
time_t start,end;
start = time(NULL);
system("pause");
end = time(NULL);
pause1 =difftime(end,start);
cout<<pause1;
輸出的是: 你停頓(pause)的時間,精確到秒
2.獲得日歷時間
time_t lt;
lt =time(NULL);//(還不清楚帶參的和不帶參的區別)
cout<<lt;
輸出的是: 從1970年1月1日0時0分0秒到此時的秒數
3.獲得日期和時間
1. 將日歷時間轉化為本地時間(格林尼治時間)
struct tm *local
time_t t;
t=time(NULL);
local=localtime(&t);
//local=gmtime(&t);
cout<<local->tm_hour;
2. 以固定的時間格式獲得日期和時間:看清這兩個函數的參和返回值的類型
char * asctime(const struct tm * timeptr);
char * ctime(const time_t *timer);
1.將日歷時間直接轉換為 固定的時間格式的日期和時間
char * jieguo;
time_t lt;
lt =time(NULL);
jieguo =ctime(<);
cout<< jieguo;
2.將日歷時間經過localtime()和gmtime()轉換後在轉換為固定的時間格式的日期和時間
struct tm *local;
char * jieguo;
time_t t;
t =time(NULL);
local=localtime(&t);
//local=gmtime(&t);
jieguo=asctime(local);
cout<< jieguo;
4.分解時間轉化為日歷時間
這里說的分解時間就是以年、月、日、時、分、秒等分量保存的時間結構,在C/C++中是tm結構。我們可
以使用mktime()函數將用tm結構表示的時間轉化為日歷時間。其函數原型如下:
time_t mktime(struct tm * timeptr);
其返回值就是轉化後的日歷時間。這樣我們就可以先制定一個分解時間,然後對這個時間進行操作了,
下面的例子可以計算出1997年7月1日是星期幾:
#include "time.h"
#include "stdio.h"
#include "stdlib.h"
int main(void)
{
struct tm t;
time_t t_of_day;
t.tm_year=1997-1900;
t.tm_mon=6;
t.tm_mday=1;
t.tm_hour=0;
t.tm_min=0;
t.tm_sec=1;
t.tm_isdst=0;
t_of_day=mktime(&t);
printf(ctime(&t_of_day));
return 0;
}
運行結果:
Tue Jul 01 00:00:01 1997
現在注意了,有了mktime()函數,是不是我們可以操作現在之前的任何時間呢?你可以通過這種辦法算
出1945年8月15號是星期幾嗎?答案是否定的。因為這個時間在1970年1月1日之前,所以在大多數編譯器
中,這樣的程序雖然可以編譯通過,但運行時會異常終止。
7. C語言中的sleep() 函數
使用要帶上頭文件:
#include <windows.h>
Sleep函數:
功 能: 執行掛起一段時間
用 法: unsigned sleep(unsigned seconds);
注意:
1.在VC中使用帶上頭文件#include <windows.h>,在Linux下,gcc編譯器中,使用的頭文件因gcc版本的不同而不同#include <unistd.h>
2.在VC中,Sleep中的第一個英文字元為大寫的"S" ,在linux下不要大寫,在標准C中是sleep, 不要大寫,簡單的說VC用Sleep, 別的一律使用sleep。
3.在VC中,Sleep()裡面的單位,是以毫秒為單位,所以如果想讓函數滯留1秒的話,應該是Sleep(1000); 在Linux下,sleep()裡面的單位是秒,而不是毫秒。
示例:
#include<dos.h>
int main(void)
{
sound(440);
delay(500);
nosound();
return 0;
}
delay()是循環等待,該進程還在運行,佔用處理器。
sleep()不同,它會被掛起,把處理器讓給其他的進程。
8. c語言休眠函數怎麼寫
1、sleep()函數:秒級休眠函數
#include <unistd.h >
unsigned int sleep(unsigned int unSeconds);
參數unSeconds表示需要休眠的秒數;
2、usleep()函數:微秒級休眠函數;
#include <unistd.h>
int usleep(useconds_t lMicroSeconds);
參數lMicroSeconds表示要休眠的微秒數;
#ifndef _SUSECONDS_T
#define _SUSECONDS_T
typedef long suseconds_t; /* signed # of microseconds */
#endif /* _SUSECONDS_T */
類型useconds_t定義在頭文件/usr/include/sys/types.h中;
3、nanosleep()函數:納秒級休眠函數;
#include <time.h>
int nanosleep(const struct timespec* rqtp, struct timespec* rmtp);
4、其它休眠函數:
select()、pselect()、poll();等;
select()函數也可以精確到微秒,pselect()函數也可以精確到納秒。