本文目錄一覽:
- 1、C語言頭文件,conio.h,windows.h,string.h,math.h各有什麼用?
- 2、c語言中如何將 int轉化為string 類型
- 3、c語言設計中,為什麼在頭文件前加一個#呢
- 4、c++怎樣把double轉為string
- 5、c語言中何時引用#include
C語言頭文件,conio.h,windows.h,string.h,math.h各有什麼用?
conio.h不是C標準庫中的頭文件。 conio是Console Input/Output(控制台輸入輸出)的簡寫,其中定義了通過控制台進行數據輸入和數據輸出的函數,主要是一些用戶通過按鍵盤產生的對應操作,比如getch()函數等等。
[編輯本段]包含的函數
包含的函數: cgets(char *); cprintf(const char *, …); cputs(const char *); cscanf(const char *, …); inp(unsigned short); inpw(unsigned short); getch(void); getche(void); kbhit(void); outp(unsigned short, int); outpw(unsigned short, unsigned short); putch(int); ungetch(int); void _Cdecl clreol (void); void _Cdecl clrscr (void); void _Cdecl delline (void); int _Cdecl gettext (int left, int top, int right, int bottom, void *destin); void _Cdecl gettextinfo (struct text_info *r); void _Cdecl gotoxy (int x, int y); void _Cdecl highvideo (void); void _Cdecl insline (void); void _Cdecl lowvideo (void); int _Cdecl movetext (int left, int top, int right, int bottom, int destleft, int desttop); void _Cdecl normvideo (void); int _Cdecl puttext (int left, int top, int right, int bottom, void *source); void _Cdecl textattr (int newattr); void _Cdecl textbackground (int newcolor); void _Cdecl textcolor (int newcolor); void _Cdecl textmode (int newmode); int _Cdecl wherex (void); int _Cdecl wherey (void); void _Cdecl window (int left, int top, int right, int bottom); har *_Cdecl cgets (char *str); int _Cdecl cprintf (const char *format, …); int _Cdecl cputs (const char *str); int _Cdecl cscanf (const char *format, …); int _Cdecl getch (void); int _Cdecl getche (void); char *_Cdecl getpass (const char *prompt); int _Cdecl kbhit (void); int _Cdecl putch (int c); int _Cdecl ungetch (int ch);
windows.h
Windows程序的開頭都可看到: #include windows.h WINDOWS.H是主要的頭文件,它包含了其他Windows頭文件,這些頭文件的某些也包含了其他頭文件。這些頭文件中最重要的和最基本的是: WINDEF.H 基本型態定義。 WINNT.H 支援Unicode的型態定義。 WINBASE.H Kernel函數。 WINUSER.H 使用者介面函數。 WINGDI.H 圖形裝置介面函數。 這些頭文件定義了Windows的所有資料型態、函數調用、資料結構和常數識別字,它們是Windows文件中的一個重要部分。
[編輯本段]文件內容
/*++ BUILD Version: 0001 Increment this if a change has global effects Copyright (c) Microsoft Corporation. All rights reserved. Module Name: windows.h Abstract: Master include file for Windows applications. –*/ #ifndef _WINDOWS_ #define _WINDOWS_ #ifdef __BORLANDC__ #pragma defineonoption __BOROPT_A -A #pragma defineonoption __BOROPT_H -H #if (__BORLANDC__ == 0x550) defined(__BOROPT_A) defined(__BOROPT_H) #error The use of both -A (ANSI mode) and -H (pre-compiled headers) at the same time is unsupported. #endif #endif /* __BORLANDC__ */ #pragma option push -b -a8 -pc -A- /*P_O_Push*/ #ifndef WINVER #define WINVER 0x0501 #else #if defined(_WIN32_WINNT) (WINVER 0x0400) (_WIN32_WINNT 0x0400) #error WINVER setting conflicts with _WIN32_WINNT setting #endif #endif #ifndef _INC_WINDOWS #define _INC_WINDOWS #if defined (_MSC_VER) (_MSC_VER = 1020) #pragma once #endif /* If defined, the following flags inhibit definition * of the indicated items. * * NOGDICAPMASKS – CC_*, LC_*, PC_*, CP_*, TC_*, RC_ * NOVIRTUALKEYCODES – VK_* * NOWINMESSAGES – WM_*, EM_*, LB_*, CB_* * NOWINSTYLES – WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_* * NOSYSMETRICS – SM_* * NOMENUS – MF_* * NOICONS – IDI_* * NOKEYSTATES – MK_* * NOSYSCOMMANDS – SC_* * NORASTEROPS – Binary and Tertiary raster ops * NOSHOWWINDOW – SW_* * OEMRESOURCE – OEM Resource values * NOATOM – Atom Manager routines * NOCLIPBOARD – Clipboard routines * NOCOLOR – Screen colors * NOCTLMGR – Control and Dialog routines * NODRAWTEXT – DrawText() and DT_* * NOGDI – All GDI defines and routines * NOKERNEL – All KERNEL defines and routines * NOUSER – All USER defines and routines * NONLS – All NLS defines and routines * NOMB – MB_* and MessageBox() * NOMEMMGR – GMEM_*, LMEM_*, GHND, LHND, associated routines * NOMETAFILE – typedef METAFILEPICT * NOMINMAX – Macros min(a,b) and max(a,b) * NOMSG – typedef MSG and associated routines * NOOPENFILE – OpenFile(), OemToAnsi, AnsiToOem, and OF_* * NOSCROLL – SB_* and scrolling routines * NOSERVICE – All Service Controller routines, SERVICE_ equates, etc. * NOSOUND – Sound driver routines * NOTEXTMETRIC – typedef TEXTMETRIC and associated routines * NOWH – SetWindowsHook and WH_* * NOWINOFFSETS – GWL_*, GCL_*, associated routines * NOCOMM – COMM driver routines * NOKANJI – Kanji support stuff. * NOHELP – Help engine interface. * NOPROFILER – Profiler interface. * NODEFERWINDOWPOS – DeferWindowPos routines * NOMCX – Modem Configuration Extensions */ #if defined(RC_INVOKED) !defined(NOWINRES) #include winresrc.h #else #if defined(RC_INVOKED) /* Turn off a bunch of stuff to ensure that RC files compile OK. */ #define NOATOM #define NOGDI #define NOGDICAPMASKS #define NOMETAFILE #define NOMINMAX #define NOMSG #define NOOPENFILE #define NORASTEROPS #define NOSCROLL #define NOSOUND #define NOSYSMETRICS #define NOTEXTMETRIC #define NOWH #define NOCOMM #define NOKANJI #define NOCRYPT #define NOMCX #endif #if defined(__BORLANDC__) defined(__cplusplus) # include mem.h // Needed for protos of memxxx() routines #endif #if defined(__BORLANDC__) # ifndef _WIN32_WINNT # define _WIN32_WINNT 0x0500 /* If not set, assume NT 5.00 */ # endif # if defined(__cplusplus) # define NOMINMAX /* for WINDEF.H */ # else # define NONAMELESSUNION /* for OAIDL.H, OBJIDL.H,… */ # endif # if defined(_UNICODE) # define UNICODE # endif #endif #if !defined(_68K_) !defined(_MPPC_) !defined(_X86_) !defined(_IA64_) !defined(_AMD64_) defined(_M_IX86) #define _X86_ #endif #if !defined(_68K_) !defined(_MPPC_) !defined(_X86_) !defined(_IA64_) !defined(_AMD64_) defined(_M_AMD64) #define _AMD64_ #endif #if !defined(_68K_) !defined(_MPPC_) !defined(_X86_) !defined(_IA64_) !defined(_AMD64_) defined(_M_M68K) #define _68K_ #endif #if !defined(_68K_) !defined(_MPPC_) !defined(_X86_) !defined(_IA64_) !defined(_AMD64_) defined(_M_MPPC) #define _MPPC_ #endif #if !defined(_68K_) !defined(_MPPC_) !defined(_X86_) !defined(_M_IX86) !defined(_AMD64_) defined(_M_IA64) #if !defined(_IA64_) #define _IA64_ #endif // !_IA64_ #endif #ifndef _MAC #if defined(_68K_) || defined(_MPPC_) #define _MAC #endif #endif #if defined (_MSC_VER) #if ( _MSC_VER = 800 ) #ifndef __cplusplus #pragma warning(disable:4116) // TYPE_ALIGNMENT generates this – move it // outside the warning push/pop scope. #endif #endif #endif #ifndef RC_INVOKED #if ( _MSC_VER = 800 ) || defined(__BORLANDC__) #pragma warning(disable:4514) #ifndef __WINDOWS_DONT_DISABLE_PRAGMA_PACK_WARNING__ #pragma warning(disable:4103) #endif #if _MSC_VER = 1200 #pragma warning(push) #endif #pragma warning(disable:4001) #pragma warning(disable:4201) #pragma warning(disable:4214) #endif #include excpt.h #include stdarg.h #endif /* RC_INVOKED */ #include windef.h #include winbase.h #include wingdi.h #include winuser.h #if !defined(_MAC) || defined(_WIN32NLS) #include winnls.h #endif #ifndef _MAC #include wincon.h #include winver.h #endif #if !defined(_MAC) || defined(_WIN32REG) #include winreg.h #endif #ifndef _MAC #include winnetwk.h #endif #ifndef WIN32_LEAN_AND_MEAN #include cderr.h #include dde.h #include ddeml.h #include dlgs.h #ifndef _MAC #include lzexpand.h #include mmsystem.h #include nb30.h #include rpc.h #endif #include shellapi.h #ifndef _MAC #include winperf.h #include winsock.h #endif #ifndef NOCRYPT #include wincrypt.h #include winefs.h #include winscard.h #endif #ifndef NOGDI #ifndef _MAC #include winspool.h #ifdef INC_OLE1 #include ole.h #else #include ole2.h #endif /* !INC_OLE1 */ #endif /* !MAC */ #include commdlg.h #endif /* !NOGDI */ #endif /* WIN32_LEAN_AND_MEAN */ #include stralign.h #ifdef _MAC #include winwlm.h #endif #ifdef INC_OLE2 #include ole2.h #endif /* INC_OLE2 */ #ifndef _MAC #ifndef NOSERVICE #include winsvc.h #endif #if(WINVER = 0x0400) #ifndef NOMCX #include mcx.h #endif /* NOMCX */ #ifndef NOIME #include imm.h #endif #endif /* WINVER = 0x0400 */ #endif #ifndef RC_INVOKED #if ( _MSC_VER = 800 ) || defined(__BORLANDC__) #if _MSC_VER = 1200 #pragma warning(pop) #else #pragma warning(default:4001) #pragma warning(default:4201) #pragma warning(default:4214) /* Leave 4514 disabled. It’s an unneeded warning anyway. */ #endif #endif #endif /* RC_INVOKED */ #endif /* RC_INVOKED */ #endif /* _INC_WINDOWS */ #pragma option pop /*P_O_Pop*/ #endif /* _WINDOWS_ */
string.h
C語言裡面關於字元數組的函數定義的頭文件,常用函數有strlen、strcmp、strcpy等等,更詳細的可以到include文件夾裡面查看該文件。 下面更詳細的介紹下: /***********************************************************************/ C、傳統 C++ #include assert.h //設定插入點 #include ctype.h //字元處理 #include errno.h //定義錯誤碼 #include float.h //浮點數處理 #include fstream.h //文件輸入/輸出 #include iomanip.h //參數化輸入/輸出 #include iostream.h //數據流輸入/輸出 #include limits.h //定義各種數據類型最值常量 #include locale.h //定義本地化函數 #include math.h //定義數學函數 #include stdio.h //定義輸入/輸出函數 #include stdlib.h //定義雜項函數及內存分配函數 #include string.h //字元串處理 #include strstrea.h //基於數組的輸入/輸出 #include time.h //定義關於時間的函數 #include wchar.h //寬字元處理及輸入/輸出 #include wctype.h //寬字元分類 /***********************************************************************/ 標準 C++ (同上的不再注釋) #include algorithm //STL 通用演算法 #include bitset //STL 位集容器 #include cctype #include cerrno #include clocale #include cmath #include complex //複數類 #include cstdio #include cstdlib #include cstring #include ctime #include deque //STL 雙端隊列容器 #include exception //異常處理類 #include fstream #include functional //STL 定義運算函數(代替運算符) #include limits #include list //STL 線性列表容器 #include map //STL 映射容器 #include iomanip #include ios //基本輸入/輸出支持 #include iosfwd //輸入/輸出系統使用的前置聲明 #include iostream #include istream //基本輸入流 #include ostream //基本輸出流 #include queue //STL 隊列容器 #include set //STL 集合容器 #include sstream //基於字元串的流 #include stack //STL 堆棧容器 #include stdexcept //標準異常類 #include streambuf //底層輸入/輸出支持 #include string //字元串類 #include utility //STL 通用模板類 #include vector //STL 動態數組容器 #include cwchar #include cwctype using namespace std; /***********************************************************************/ C99 增加 #include complex.h //複數處理 #include fenv.h //浮點環境 #include inttypes.h //整數格式轉換 #include stdbool.h //布爾環境 #include stdint.h //整型環境 #include tgmath.h //通用類型數學宏 /***********************************************************************/
math.h
數學函數庫,一些數學計算的公式的具體實現是放在math.h里,具體有: 1 三角函數 double sin (double); double cos (double); double tan (double); 2 反三角函數 double asin (double); 結果介於[-PI/2, PI/2] double acos (double); 結果介於[0, PI] double atan (double); 反正切(主值), 結果介於[-PI/2, PI/2] double atan2 (double, double); 反正切(整圓值), 結果介於[-PI/2, PI/2] 3 雙曲三角函數 double sinh (double); double cosh (double); double tanh (double); 4 指數與對數 double exp (double); double sqrt (double); double log (double); 以e為底的對數 double log10 (double); double pow(double x, double y)//計算以x為底數的y次冪 5 取整 double ceil (double); 取上整 double floor (double); 取下整 6 絕對值 double fabs (double); double cabs(struct complex znum) //求複數的絕對值 7 標準化浮點數 double frexp (double f, int *p); 標準化浮點數, f = x * 2^p, 已知f求x, p ( x介於[0.5, 1] ) double ldexp (double x, int p); 與frexp相反, 已知x, p求f 8 取整與取余 double modf (double, double*); 將參數的整數部分通過指針回傳, 返回小數部分 double fmod (double, double); 返回兩參數相除的餘數 9其他 double hypot(double x, double y);//已知直角三角形兩個直角邊長度,求斜邊長度 double ldexp(double x, int exponent);//計算x*(2的exponent次冪) double poly(double x, int degree, double coeffs [] )//計算多項式 nt matherr(struct exception *e)//數學錯誤計算處理程序 source: 《C C++ Code Capsules》
c語言中如何將 int轉化為string 類型
可以使用以下方式:
1、使用循環,把每一位數字轉換成相應的字元,參考代碼如下:
#include stdio.h
#include string.h
int main()
{
int num, n, i = 0;
char str[20], tmp[20];
scanf(“%d”, num);
n = num % 10;
while (n0)
{
tmp[i++] = n + ‘0’;
num = (num – n) / 10;
n = num % 10;
}
tmp[i] = ‘\0’;
for (i=0; i=strlen(tmp)-1; i++)
{
str[i] = tmp[strlen(tmp)-i-1];
}
str[i] = ‘\0’;
printf(“%s\n”, str);
return 0;
}
2、使用庫函數,代碼如下:
#include stdio.h
#include string.h
int main()
{
int num;
char str[20];
scanf(“%d”, num);
itoa(num, str, 10);
printf(“%s\n”, str);
return 0;
}
c語言設計中,為什麼在頭文件前加一個#呢
C語言中的 #
C#讀成C Sharp
# 本身為指令 沒有其他意義/也沒有其他效果
# 號必須是該行除了任何空白字元外的第一個字元。預處理指令就是以#號開頭的代碼行。
# 後是指令關鍵字,在關鍵字和#號之間允許存在任意個數的空白字元。
整行語句構成了一條預處理指令,該指令將在編譯器進行編譯之前對源代碼做某些轉換。
下面舉例說明下:
#define 標識符 字元串.
其中的「#」表示這是一條預處理命令。凡是以「#」開頭的均為預處理命令.。
#,##(C++)
# 和 ## 操作符是和#define宏使用的. 使用# 使在#後的首個參數返回為一個帶引號的字元串. 例如, 命令
#define to_string( s ) # s
將會使編譯器把以下命令
cout to_string( Hello World! ) endl;
理解為
cout “Hello World!” endl;
使用##連結##前後的內容. 例如, 命令
#define concatenate( x, y ) x ## y
…
int xy = 10;
…
將會使編譯器把
cout concatenate( x, y ) endl;
解釋為
cout xy endl;
理所當然,將會在標準輸出處顯示’10’.
Pascal中的#
#m表示ascii碼為m的字元,如#48表示『0』,#65為『A』,#13為回車。
可以在#後加$表示16進位的m,如#$30就是#48
呵呵,取了一個巧,複製的一個網頁上的內容,當講得十分全面,易理解。最初我也是看著才明白的….
c++怎樣把double轉為string
在Windows系統下的轉換方法
windows下進行此類一般使用sprintf_s函數,使用該函數需要包含頭文件stdio.h。
示例:例如我要將 1.234567 這個小數轉化為字元串”1.234567「。首先,要包含頭文件 cstdio(即 stdio.h)。
接著,要定義一個字元緩衝區 buffer,大小要足以容納要轉換的 double 變數。
再使用sprinf_s進行轉換,轉換的字元串保存在buffer中。
這時,就可以用string類型變數str來接收值了。
為了驗證結果,我們加句代碼輸出這個str的值,程序運行的結果如下圖。
c語言中何時引用#include
當使用到string.h中的函數時,需要引用頭文件string.h
string.h為C語言庫函數頭文件之一,包含了內存處理及字元串處理函數。
1 內存處理相關函數,包括memcmp, memcpy, memset等。
2 字元串處理函數,包括strcpy, strcmp, strlen,strstr等。
當用到相關函數時,推薦引用string.h。
原創文章,作者:VHVX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144197.html